AnyEvent::Impl::Perl или EV?<br><br>Монс, а ты сравнивал хттп/тсп-сервер на AnyEvent + EV с node.js ?<br><br><br><br><div class="gmail_quote">2011/5/24 Mons Anderson <span dir="ltr"><<a href="mailto:mons@cpan.org">mons@cpan.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Что-то я вас не понимаю.<br>
<br>
Интерфейсно EV и ваш NgxE идентичны.<br>
Причем, (может быть, конечно, это субъективно), EV'шный интерфейс более удобени более универсален (у вас, например, нет сигналов).<br>
<br>
Соответственно скорость разработки и на EV и на NgxE будет идентична.<br>
<br>
Насчет производительности:<br>
<br>
Я написал 3 идентичных по функционалу echo-сервера. на AnyEvent, на EV и взял<br>
из примера ваш.<br>
<br>
50000 запросов connect/write/read/close отрабатывали соответственно:<br>
<br>
EV:   50000 took: 27 wallclock secs (20.69 usr +  4.36 sys = 25.05 CPU)<br>
NgxE: 50000 took: 31 wallclock secs (22.46 usr +  5.12 sys = 27.58 CPU)<br>
AE:   50000 took: 43 wallclock secs (25.69 usr +  5.70 sys = 31.38 CPU)<br>
<br>
Т.о. в этой задаче ваш фреймворк быстрее AnyEvent на 14% и медленнее EV на 10%<br>
<br>
100000 запросов connect/write/read/.../write/read/close:<br>
<br>
EV:   100000 took:  7 wallclock secs ( 1.23 usr +  1.64 sys =  2.87 CPU)<br>
NgxE  100000 took:  7 wallclock secs ( 1.33 usr +  1.57 sys =  2.90 CPU)<br>
AE:   100000 took:  9 wallclock secs ( 4.61 usr +  1.90 sys =  6.51 CPU)<br>
AE:   100000 took: 12 wallclock secs ( 8.74 usr +  1.64 sys = 10.38 CPU)<br>
<br>
Здесь EV и NgxE фактически одинаковы.<br>
В случае с AE есть 2 варианта использования AnyEvent::Handle. первый это<br>
on_read, второй - push_read<br>
<br>
А теперь давайте посмотрим на стоимость разработки.<br>
Под AnyEvent я с легкостью найду множество различных компонент.<br>
Я могу соединить между собой XMPP, HTTP, SMTP и еще бог весть что...<br>
Что из этого есть под ваш фреймворк? Сколько, например, займет времени сделать<br>
под него реализацию XMPP?<br>
<div><div></div><div class="h5"><br>
On Saturday 21 May 2011 19:52:16 Alexandr Gomoliako wrote:<br>
> On 5/21/11, Mons Anderson <<a href="mailto:mons@rambler-co.ru">mons@rambler-co.ru</a>> wrote:<br>
> > Это чем-же AE не очень хороший вариант?<br>
><br>
> Тем, что медленный.<br>
><br>
> > Написать? Быстрый event loop? Быстрее чем EV? Велосипедисты, блин.<br>
><br>
> Все очень просто, нужно избавиться от перлового оверхеда до самой<br>
> точки получения и отправки данных. Но с EV на это действительно уйдет<br>
> масса времени.<br>
><br>
> > Посмотрю я на ваш велосипед... И на то, как вы потратите пару лет на то,<br>
> > чтобы он стал быстрее EV.<br>
><br>
> Если изобретать с нуля, то конечно долго. У меня заняло около месяца<br>
> на разработку на базе нджинкса и потом небольшие изменения по мере<br>
> использования. Уже несколько месяцев работает стабильно на fedora и<br>
> freebsd, что и ожидалось, т.к. моего кода совсем чуть-чуть, а всю<br>
> работу, в том числе прием и отправку данных делает годами отлаженный<br>
> nginx. Посмотрите:<br>
> <a href="http://search.cpan.org/%7Ezzz/Nginx-Engine-0.06/lib/Nginx/Engine.pm" target="_blank">http://search.cpan.org/~zzz/Nginx-Engine-0.06/lib/Nginx/Engine.pm</a><br>
> (там правда не последняя, но стабильная версия и пока не полная<br>
> документация)<br>
><br>
> > под Node.js реализаций различных протоколов уже на данный момент больше,<br>
> > чем под AnyEvent и Twisted вместе взятые. И поэтому под Node.js как-раз<br>
> > ничего и не нужно изобретать.<br>
><br>
> А причем тут протоколы? Протокол и самому можно написать, много<br>
> времени не займет.<br>
<br>
</div></div>А что вы имеете в виду под "изобретать под нее"?<br>
<div class="im"><br>
--<br>
Mons Anderson aka Vladimir Perepelitsa<br>
<<a href="mailto:mons@cpan.org">mons@cpan.org</a>> / #99779956 / <a href="mailto:quanth@irc.freenode.net">quanth@irc.freenode.net</a><br>
--<br>
</div><div><div></div><div class="h5">Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>С уважением,<br> Анатолий Шарифулин.<br>