Какая настройка более эффективна? Фляга с пипой, или Колба с gevent?
Оба "pypy" и "gevent" должны обеспечивать высокую производительность. Предполагается, что Pypy быстрее, чем CPython, а gevent основан на совместном подпрограмме и greenlets, что, предположительно, делает более быстрый веб-сервер.
Однако они несовместимы друг с другом.
Мне интересно, какая настройка более эффективна (с точки зрения скорости/производительности):
- Встроенный сервер Flask, работающий на pypy
или
- Сервер gevent, работающий на CPython
Ответы
Ответ 1
Короткий ответ: он быстрее с PyPy, и он имеет более высокий concurrency с gevent.
Можно одновременно использовать gevent и PyPy (мы делаем это в PubNub для нескольких проектов), хотя это может быть сложно. Начиная с PyPy 2.2, требуется несколько исправлений для реализации их сокетов. У нас есть экспериментальная ветвь для github: https://github.com/pubnub/gevent/tree/pypy-hacks - Используется совместно с pypycore.
Наша рекомендация? Используйте Flask с PyPy и gevent. Получите лучшее из обоих миров!
Ответ 2
Встроенный фляжный сервер - это BaseHTTPServer или так никогда не используется. Лучший сценарий - очень вероятный торнадо + пипы или что-то в этом роде. Тест перед использованием. Это также сильно зависит от того, что вы делаете. Тесты веб-сервера + веб-фреймворки, как правило, относятся к мировым стандартам. Действительно ли ваше приложение действительно так?
Приветствия, фиджал
Ответ 3
Pypy совместим с Gevent +1.1 (http://www.gevent.org/changelog.html). Он также совместим с Python 3. Итак, почему бы не использовать оба? Pypy улучшит производительность обработки, а Gevent поможет в связанных задачах ввода-вывода (например, запросы к базе данных, веб-запросы), используя подземные асинхронные соединения.