Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2014-09-22

Twisted

Twisted это, как определяют его авторы, сетевой движок, написанный на Python. Обеспечивает, как раньше говорили, кооперативную многозадачность.

Twisted is an event-driven networking engine written in Python and licensed under the open source ​MIT license


Я тут доклад с HighLoad++ увидел, аж 2010 года, про Twisted. Сумбурно но интересно рассказывают про то, как применяли сабж на практике. К сожалению, не слишком подробно и без технических деталей.

И немного про Tornado:

Вопрос из зала: Можно сказать пару слов об альтернативах? Было сказано, что Twisted хорошо подходит для определенного класса задач. Если у меня возникает задача такого класса, я хочу сначала понять, что мне нужно – Twisted, или Tornado, или NoJS.

Андрей Смирнов: Мне очень тяжело говорить, потому что это очень специфически. Надо отдельно готовиться, чтобы сравнивать.
Можно сказать пару слов о Tornado. Мне не хочется сказать ничего плохого. Но человек из FriendFeed, который написал Tornado, какое-то время крутился в сообществе Twisted, задавал вопросы, но не осилил. Это честно. Он задавал вопросы, на какое-то время ушел в себя, написал Tornado. Но, по сути, написал почти то же самое. В некоторых тестах он дает лучшую производительность.
Но Twisted все-таки гораздо более стройный с точки зрения общей конструкции, там больше отдельных элементов. Пусть на отдельных тестах производительность ниже, но основа для разработки очень хорошая. Мне кажется, там можно много чему поучиться.
В мире продуктов на "Си" с открытыми исходниками Postgres – несомненный лидер в смысле самой разработки. Там можно поучиться тому, как разрабатывать любой проект на "Си".
Twisted для Python тоже один из примеров того, как хорошо разрабатывать проект. Делают его тоже очень долго (этому проекту больше десяти лет), развивают достаточно медленно и аккуратно, что похоже на Postgres. Любой функционал обсуждается, потом предоставляется патч, затем идет выделение отдельной ветки. Эту ветку они могут делать месяцами и годами. Есть открытые тикеты, которым по 4-5 лет. Они все-таки кого-то не удовлетворяют, поэтому это не "коммитится"
...



Это что же получается? Торнадо появилось как результат «не постигаю» Твистед? Неосилятор написал свой велосипед, с блекджеком и шлюхами? Очень интересно.


А что вы знаете про Циклон? http://cyclone.io/



original post http://vasnake.blogspot.com/2014/09/twisted.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)