Полностью согласен — посмотрите на Emacs. Сейчас он уже 23-й версии. Просто в свое время разработчики отказались от ведущей единицы. А так, был бы сейчас 1.23.
Бенчмарк действительно очень полный, в отличие от приведенного мною. Признаться, не хотел свести все к сравнению питонячих веб-серверов.
Вспомнил, что разработчик fapws в 3-й версии отказался от libevent в пользу libev (должно быть не зря). Наверное корректнее было посмотреть бенчмарк fapws2 vs fapws3, хотя на результаты скорее всего сильно повлияет другая база кода.
Почти. Gevent — это Eventlet, сделанный правильно, но неправильно.
Что правильно:
1. Один способ опрашивать ядро (libevent).
2. Быстрый мейнлуп на C (libevent).
3. Сохранены интерфейсы Event, Queue, Semaphore.
Что неправильно:
1. libevent (надо было libev)
2. Отсутствует возможность патчить socket и прочие модули, чтобы работал нормальный синхронный код. Это есть в eventlet.
Что неправильно в Eventlet:
1. Много способов опрашивать события (хабы: select, epoll, libevent, libev, правда последний давно не поддерживается и выкинут из сорцов).
2. Мейнлуп на питоне (частично из-за пункта 1).
Вспомнил, что разработчик fapws в 3-й версии отказался от libevent в пользу libev (должно быть не зря). Наверное корректнее было посмотреть бенчмарк fapws2 vs fapws3, хотя на результаты скорее всего сильно повлияет другая база кода.
2. Спасибо, не знал.
Что правильно:
1. Один способ опрашивать ядро (libevent).
2. Быстрый мейнлуп на C (libevent).
3. Сохранены интерфейсы Event, Queue, Semaphore.
Что неправильно:
1. libevent (надо было libev)
2. Отсутствует возможность патчить socket и прочие модули, чтобы работал нормальный синхронный код. Это есть в eventlet.
Что неправильно в Eventlet:
1. Много способов опрашивать события (хабы: select, epoll, libevent, libev, правда последний давно не поддерживается и выкинут из сорцов).
2. Мейнлуп на питоне (частично из-за пункта 1).
3) быдлокодер
2) олимпиадник
3) разработчик
4) осознавший
5) Линус Торвальдс