Всем привет! Не холливар, просто для размышлений. Долгих :)
Перевел пример на nodejs - https://github.com/Meettya/node-url-shortener старался по возможности ближе к исходному делать, дабы сравнение было валидно более-менее. Если кратко: ----- по скорости - perl - Requests per second: 423.34 Transfer rate: 42.17 node - Requests per second: 1323.04 Transfer rate: 267.45 ---- по стабильности - при попытке сделать на моем маке ./ab -n 10000 -c 130 -k http://192.168.1.2:8080/?url=$RANDOM получаю Can't locate URI/http.pm: Too many open files at (eval 45) line 2, <> line 6. AnyEvent::Handle uncaught error: Broken pipe at /Users/meettya/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/Twiggy/Server.pm line 601. Если перегрузить ноду она просто делает отлуп ab, ничего не падает (хз как его настраивать, не силен я в ab и во всем что с ним связано) ---- по расширяемости - для ноды это + 10 строк копипастного кода - и у вас кластер. та-даам!! --- по читаемости - имхо паритет, в любом случае асинхронный код лапшеват выходит, можно отрефакторить, но пока лениво все результаты здесь https://gist.github.com/3216375 + можете погонять на своей машине, постарался облегчить процесс установки Короче, если кто-то еще считает, что нода "сыро и медленно" - у вас устаревшие сведения. Сильно устаревшие. PS. вот описание системы - perl - v5.16.0 node - v0.8.1 uname -a Darwin TravelMate.local 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:33:05 PDT 2012; root:xnu-1699.26.8~1/RELEASE_I386 i386 PPS. Пошел бы на удаленке на node-powered проект :) On Jul 30, 2012, at 10:04 PM, Alexey Shrub wrote: > Всем привет, > > набросал для эксперимента простенький сокращатель ссылок на Twiggy > https://github.com/worldmind/perl-url-shortener > работает, но у меня пока нет полного понимания всё ли правильно сделано, > документации по твигги что-то совсем не нашёл, есть пример > https://github.com/miyagawa/Twiggy/blob/master/eg/chat-websocket/chat.psgi > но мне это мало помогло (видимо из-за коллбеков) и где-то откопал немного > иной стиль с возвратом анонимной сабы и > $w->write( "Short for $url is $server$short_url" ); > undef $w; > но не понятно какой способ рекомендуемый и чем отличается. Есть хоть какие-то > ещё доки и примеры? > > Ещё думаю как его отрефакторить чтобы почитаемее было. > > И падает он периодически, видимо поэтому > https://rt.cpan.org/Public/Bug/Display.html?id=78177 > у кого-то стабильно работает? > > -- > Alexey Shrub > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
