Как стать автором
Обновить

Комментарии 9

Добавлю, что хотя Tornado внутри использует лапшу из callback'ов, некоторая поддержка сопрограмм (coroutine) там тоже есть: www.tornadoweb.org/en/stable/gen.html.
Поддержка сопрограмм (coroutine) в Tornado достаточно серьёзная. В двух небольших сервисах с успехом их использовал. Другое дело что конструкции с ними там более громоздкие получаются, чем в asyncio. Но это связано с тем, что до Python 3.3 нельзя было вернуть из генератора результат, как из обычной функции.
Было бы также интересно посмотреть бенчмарки в сравнении с gevent.
Для того чтобы бенчмарки были корректными нужно брать tornado+bottle. Потому что WSGI контекст для bottle будет потяжелее не-WSGI контекста tornado.
Торнадо+ботле будет наверняка меньше выдаст, чем даже waitres+ботле. WSGI у торнадо сделан просто для галочки. «Пациент» же изначально был задуман как WSGI сервер с поддержкой асинхронности.

Тот же Waitress в этом тесте запускался с дефолтными настройками, то есть — он запустил четыре дочерних процесса, по числу ядер на компе на котором тестировалось. Когда как «пациент» и торнадо были запущены в одном экземпляре процесса. То есть данные waitess можно смело поделить на четыре.

Если вы сейчас посмотрите мой гитхаб, то там добавилось новое демо. На флак приложении сделан чат, с почти мгновенной доставкой сообщений, использующий методику (патерн) long polling. И всё только Flask приложение запущенное под сервером aqua. Немного пришлось модифицировать Flask, но совсем чуть-чуть).
Андрей, в блог у вас что-то запись не кладется. Так и не понял отправил ли хабр мое послание вам. Свяжитесь со мной, HTTP сервер на asyncio можно сделать. Давайте обсудим это, потому что вижу вы тоже в теме.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории