LINUX.ORG.RU

А для какой задачи? В большинстве случаев ugreen, gevent, asyncio будет за глаза.

anonymous
()
Ответ на: комментарий от anonymous

Ну и, прости господи, tornado тоже туда же.

anonymous
()
Ответ на: комментарий от anonymous

сокетный хайлоад на много комнат, в комнате ~10 человек с 0.2-1 rps от каждого. к-во комнат должно масштабироваться горизонтально

VladimirMalyk ★★★★★
() автор топика
Последнее исправление: VladimirMalyk (всего исправлений: 1)
Ответ на: комментарий от VladimirMalyk

сокетный хайлоад на много комнат, в комнате ~10 человек с 0.2-1 rps от каждого. к-во комнат должно масштабироваться горизонтально

Пф. stackless точно не нужен. Я бы тупо на uwsgi+ugreen сделал.

anonymous
()
Ответ на: комментарий от ggrn

есть ли адекватные бенчмарки python+asyncio vs nodejs?

Адекватные это в которых asyncio быстрее?)

Как правило можно потерпеть несколько сраных процентов, зато получить нормальную генераторную асинхронность, отладку, стектрейсы с фреймами для разрулирования проблем в проде и нетекущие как последние сучки воркеры.

anonymous
()
Ответ на: комментарий от anonymous

Адекватные это в которых asyncio быстрее?)

Не обязательно.

Как правило можно потерпеть несколько сраных процентов

Несколько это < 10% ?

зато получить нормальную генераторную асинхронность

Поясни.

//Плаваю в сей теме, не до конца ещё всё разобрал.

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

Несколько это < 10% ?

Зависит от фреймворка. На голом uwsgi можно в паритете быть, если не считать самого приложения (jit в ноде хорош). Разбор реквеста во всех современных Django/WebOb/Werkzeug адски долог из-за py2/py3 проверок — примерно в два раза просаживает на Hello World.

Поясни.

Код выглядит обычным императивным кодом, а не вермишелью из колбеков или вермишелью из промисов.

anonymous
()
Ответ на: комментарий от VladimirMalyk

Ну, если учесть, что Stackless пилят и в рамках PyPy, то он до некоторой степени актуален и сейчас. Другое дело, что лично я придерживался бы более мейнстримных технологий.

tailgunner ★★★★★
()
Ответ на: комментарий от VladimirMalyk

они стек выбирали оч давно, с тех пор многое изменилось

Они его не выбирали, они его по сути запилили. В смысле, CCP Games - основной спонсор проекта.

hateyoufeel ★★★★★
()
Ответ на: комментарий от Vovka-Korovka

Ага, который только для 3-ей ветки питона

А что не так с 3 веткой ? Или вы все еще на 2 сидите ? Вейкап! На дворе 2015 год! 99% либ уже портировано на Python 3 и прекрасно работают.

abc
()
Ответ на: комментарий от abc

99% либ уже портировано на Python 3 и прекрасно работают.

Лично я жду когда 3.5 завезут на сервера, без нормальных байтовых строк как-то хреново все получается.

anonymous
()
Ответ на: комментарий от abc

Свои хелловорды с паттернами можешь крутить где хочешь, это не на что не влияет. Для прода 3.5 еще слишком нов.

anonymous
()
Ответ на: комментарий от abc

Упси, прошу прощения, перепутал товарища abs с тобой. Тогда вопросы: какая нагрузка, были ли проблемы с async/await?

anonymous
()
Ответ на: комментарий от Vovka-Korovka

многие заказчики до сих пор требуют

Судя по тому, что ТС задает вопросы о Stackless, в данном случае он выбирает инструмент по своему усмотрению.

tailgunner ★★★★★
()
Ответ на: комментарий от abc

Вейкап! На дворе 2015 год! 99% либ уже портировано на Python 3 и прекрасно работают.

Будете разлогиниваться — закройте, пожалуйста, портал, из вашего измерения поддувает.

t184256 ★★★★★
()

Я бы для этой задачи использовал twisted, он поинтереснее чем голый async. Меньше придётся велосипедов изобретать. Есть хорошая книжка в сети «An Introduction to Asynchronous Programming and Twisted» http://krondo.com/?p=1209

Примеры из книги: https://github.com/jdavisp3/twisted-intro

Есть вполне читабельный русский перевод в PDF (исходники в TeX).

jellyfish
()
Ответ на: комментарий от VladimirMalyk

помимо торнадо, есть ещё и циклон (cyclone), который реализует API tornado поверх twisted, работает быстрее, + можно использовать все плюшки twisted.

jellyfish
()
Ответ на: комментарий от jellyfish

twisted я бы брал, только если было бы лень реализовывать протокол, в остальном этот чмонстр слишком жирен и страшен.

anonymous
()
Ответ на: комментарий от jellyfish

работает быстрее

Не хватает ссылки на бенчмарк.

anonymous
()

а насоветуйте ещё годный гайд по микросервисам на питоне.
как и какие нынче принято использовать решения для синхронных/асинхроннх шин данных, сериализация данных, протоколы — вот это всё.

VladimirMalyk ★★★★★
() автор топика
5 мая 2016 г.
Ответ на: комментарий от VladimirMalyk

Ну вот щас модно WAMP и http://crossbar.io/ например.

А вообще-то, микросервисы - очередная дурь и развод трудящихся. Потому что если юзать микросервисы с общей БД, то ничего, кроме головной боли, они не прибавляют. А если юзать отдельную БД для каждого микросервиса, то вылезает столько гемора с когерентностью дат, что здохнуть проще. Готовься к двухфазным коммитам и т. д. Оно, возможно, стоит гемора, если делаешь что-то размером с фейсбук, а так нафиг не упёрлось. В следующий раз услышишь, как Фаулер опять будет их продвигать - подскочи с вертушки и поясни прямо в лицо.

anonymous
()

stackless как таковой мертв. весь функционал плюс многое другое есть в pypy, а часть и в cpython современном. пожалуйста, не берите торнадо, твистед, гевент, циклон если вы точно не знаете что вам по какой-то редкой причине надо именно его. берите asyncio и любой фреймворк на нем, на свой вкус.

val-amart ★★★★★
()
Ответ на: комментарий от ggrn

есть, но не в веб — IoT. все замечательно, все о чем я мечтал в плане асинхронных реакторов в питоне. в 3.5 дебажить удобно, прозрачно, и код выглядит и пишеться очень натурально.

val-amart ★★★★★
()
Ответ на: комментарий от ggrn

однозначно сыровато. там просто бенчмарки интересные, про nodejs vs asyncio вопрос был

val-amart ★★★★★
()
Ответ на: комментарий от val-amart

неплохо. утилизирует все ядра, изкоробуи инструменты для горизонтального скейла

VladimirMalyk ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.