Какая настройка более эффективна? Фляга с пипой, или Колба с gevent?

17

Оба «pypy» и «gevent» должны обеспечивать высокую производительность. Предполагается, что Pypy быстрее, чем CPython, а gevent основан на совместном подпрограмме и greenlets, что, предположительно, делает более быстрый веб-сервер.

Однако они несовместимы друг с другом.

Мне интересно, какая настройка более эффективна (с точки зрения скорости / производительности):

  • Встроенный сервер Flask, работающий на pypy

или

  • Сервер gevent, работающий на CPython
задан hasen 12.01.2013 в 16:10
источник
  • Как насчет того, чтобы сравнивать его с заданием, которое имеет для вас отношение? Я не вижу, чтобы это было конструктивно. –  12.01.2013 в 16:27
  • Это конкретный вопрос и имеет 3 потенциальных ответа: 1. flask-pypy, очевидно, быстрее 2. flask-gevent, очевидно, быстрее 3. они близки и / или трудно сказать без тестов. –  hasen 12.01.2013 в 16:47

3 ответа

13

Короткий ответ: быстрее с PyPy, и он имеет более высокий параллелизм с gevent.

Можно одновременно использовать gevent и PyPy (мы делаем это в PubNub для нескольких проектов), хотя это может быть сложно. Начиная с PyPy 2.2, требуется несколько исправлений для реализации их сокетов. У нас есть экспериментальная ветвь на github для него: Ссылка - для использования в сочетании с pypycore .

Наша рекомендация? Используйте Flask с PyPy и gevent. Получите лучшее из обоих миров!

    
ответ дан Jason Oster 05.12.2013 в 04:12
  • Посмотрите здесь. Gevent теперь поддерживает pypy. –  kawing-chiu 19.08.2015 в 08:40
  • @ kawing-chiu Да. Поддержка PyPy доступна в текущих версиях бета-версий gevent 1.1. Рекомендуется соблюдать осторожность. Бета-версии все еще получают исправления ошибок. Просто следите за журналом фиксации, чтобы узнать, есть ли какие-либо изменения, которые могут повлиять на ваше приложение со времени последней бета-версии. –  Jason Oster 19.08.2015 в 21:26
2

Встроенный фляжный сервер - это BaseHTTPServer или так никогда не используется. Лучший сценарий - очень вероятный торнадо + пипы или что-то в этом роде. Тест перед использованием. Это также сильно зависит от того, что вы делаете. Тесты веб-сервера + веб-фреймворки, как правило, относятся к мировым стандартам. Действительно ли ваше приложение действительно так?

Приветствия, фиджал

    
ответ дан fijal 12.01.2013 в 16:36
  • Тот, кто когда-либо закрывал этот вопрос, не был прав в этом! Я просто прочитал, что конкретная библиотека в PyPy в 10 раз быстрее, чем в CPython .. и с другой стороны я запускаю приложение Flask с gevent. Поэтому я посмотрел и наткнулся на этот очень интересный вопрос .. но, видимо, некоторые люди любят задавать некоторые вопросы как разрушительные. Было бы неплохо, если бы у какого-то парня был опыт в обоих. Итак, почему существует необходимость прекратить делиться этим опытом? .. –  hsk81 14.03.2013 в 11:02
0

Pypy совместим с Gevent +1.1 ( Ссылка ). Он также совместим с Python 3. Итак, почему бы не использовать оба? Pypy улучшит производительность обработки, а Gevent поможет в связанных задачах ввода-вывода (например, запросы к базе данных, веб-запросы), используя подземные асинхронные соединения.     

ответ дан tebanep 27.08.2017 в 19:45