AnyEvent::Impl::Perl или EV? Монс, а ты сравнивал хттп/тсп-сервер на AnyEvent + EV с node.js ?
2011/5/24 Mons Anderson <[email protected]> > Что-то я вас не понимаю. > > Интерфейсно EV и ваш NgxE идентичны. > Причем, (может быть, конечно, это субъективно), EV'шный интерфейс более > удобени более универсален (у вас, например, нет сигналов). > > Соответственно скорость разработки и на EV и на NgxE будет идентична. > > Насчет производительности: > > Я написал 3 идентичных по функционалу echo-сервера. на AnyEvent, на EV и > взял > из примера ваш. > > 50000 запросов connect/write/read/close отрабатывали соответственно: > > EV: 50000 took: 27 wallclock secs (20.69 usr + 4.36 sys = 25.05 CPU) > NgxE: 50000 took: 31 wallclock secs (22.46 usr + 5.12 sys = 27.58 CPU) > AE: 50000 took: 43 wallclock secs (25.69 usr + 5.70 sys = 31.38 CPU) > > Т.о. в этой задаче ваш фреймворк быстрее AnyEvent на 14% и медленнее EV на > 10% > > 100000 запросов connect/write/read/.../write/read/close: > > EV: 100000 took: 7 wallclock secs ( 1.23 usr + 1.64 sys = 2.87 CPU) > NgxE 100000 took: 7 wallclock secs ( 1.33 usr + 1.57 sys = 2.90 CPU) > AE: 100000 took: 9 wallclock secs ( 4.61 usr + 1.90 sys = 6.51 CPU) > AE: 100000 took: 12 wallclock secs ( 8.74 usr + 1.64 sys = 10.38 CPU) > > Здесь EV и NgxE фактически одинаковы. > В случае с AE есть 2 варианта использования AnyEvent::Handle. первый это > on_read, второй - push_read > > А теперь давайте посмотрим на стоимость разработки. > Под AnyEvent я с легкостью найду множество различных компонент. > Я могу соединить между собой XMPP, HTTP, SMTP и еще бог весть что... > Что из этого есть под ваш фреймворк? Сколько, например, займет времени > сделать > под него реализацию XMPP? > > On Saturday 21 May 2011 19:52:16 Alexandr Gomoliako wrote: > > On 5/21/11, Mons Anderson <[email protected]> wrote: > > > Это чем-же AE не очень хороший вариант? > > > > Тем, что медленный. > > > > > Написать? Быстрый event loop? Быстрее чем EV? Велосипедисты, блин. > > > > Все очень просто, нужно избавиться от перлового оверхеда до самой > > точки получения и отправки данных. Но с EV на это действительно уйдет > > масса времени. > > > > > Посмотрю я на ваш велосипед... И на то, как вы потратите пару лет на > то, > > > чтобы он стал быстрее EV. > > > > Если изобретать с нуля, то конечно долго. У меня заняло около месяца > > на разработку на базе нджинкса и потом небольшие изменения по мере > > использования. Уже несколько месяцев работает стабильно на fedora и > > freebsd, что и ожидалось, т.к. моего кода совсем чуть-чуть, а всю > > работу, в том числе прием и отправку данных делает годами отлаженный > > nginx. Посмотрите: > > http://search.cpan.org/~zzz/Nginx-Engine-0.06/lib/Nginx/Engine.pm > > (там правда не последняя, но стабильная версия и пока не полная > > документация) > > > > > под Node.js реализаций различных протоколов уже на данный момент > больше, > > > чем под AnyEvent и Twisted вместе взятые. И поэтому под Node.js как-раз > > > ничего и не нужно изобретать. > > > > А причем тут протоколы? Протокол и самому можно написать, много > > времени не займет. > > А что вы имеете в виду под "изобретать под нее"? > > -- > Mons Anderson aka Vladimir Perepelitsa > <[email protected]> / #99779956 / [email protected] > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > -- С уважением, Анатолий Шарифулин.
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
