Erlang однозначно более высокого уровня по сравнению с Node.
Разные абсолютно фишки. А вот то, что Erlang-men сравнивают свой мир с мир Node, говорит не в их пользу. Node-народу на них пофиг. 30 октября 2012 г., 15:43 пользователь ksvs <[email protected]> написал: > Привет. > Решил все таки посмотреть на AnyEvent::HTTP. > Сделал скачивание страниц сайта perl.com по заранее приготовленному > списку url (1123 ссылки). > > > Однопоточный LWP справляется с этим за 7:53 минут > HTTP::Async (33 одновременных соединения) - 1:55 > AnyEvent::HTTP (33 одновременных соединения) - 0:38 > Coro::LWP (33 одновременных соединения) - 0:21 > > Наверно AnyEvent::HTTP медленней, чем Coro::LWP из-за того, что не > кешируется DNS. > А последние версии AnyEvent и AnyEvent::CacheDNS не совместимы друг с > другом. > > А вот вариант с prefork в 10 дочерних процессов справился за 0:48. > Каждому дочернему процессу передается по одному url, он возвращает > результат и ему передается следующий url) > > На компьютере 4 ядра. > > А в 33 потока prefork справился быстрей всех - 0:17 > > > Чтобы тесты не были слишком искусственными, я добавил анализ страниц при > помощи HTML::Parser (поиск внешний и внутренних ссылок). > > LWP - 9:22 > AnyEvent::HTTP (33) - 1:12 > Coro::LWP (33) - 1:17 > prefork (10) - 0:54 > prefork (33) - 0:23 > > затем все таки уговорил себя и сделал гибридный вариант: > prefork (4 процесса) и в каждом 8 Coro - 0:24 > prefork (4 процесса) и в каждом 33 Coro - 0:24 > prefork (4 процесса) и в каждом 33 AnyEvent::HTTP - 0:22 > > Кстати, когда снял нагрузку (анализ страниц), то заметил, что вариант > prefork-Сoro иногда зависает, а вариант prefork-AnyEvent::HTTP - нет. > > > Что я могу сказать по всему этому. Было интересно. Но наверное, > использование Event оправдано лишь для узкого круга задач, где куча > медленных соединений и задачи эти не нагружают CPU. Но для этого вероятно > проще использовать тот-же Erlang и Haskell, которые сами все ядра использую. > > Хотя ведь при общении с дочерними процессами используется select или > прочий event. > > А для каких задач вы используете AnyEvent? > > P.S. > > Кстати, об Erlang. > > Не смотря на фразу "Слава Богу, я не подписан на из списки рассылки", я > решил посмотреть на Erlang. > Больше меня удивило, что периодически пользователи Erlang доказывают, что > Erlang круче, чем node.js. > > Но, ведь, если я правильно понял, Erlang на уровень выше, чем node.js и > AnyEvent. > Так почему они что-то пытаются доказать? Ведь слон на Моську не обращает > внимания. > Или в Erlang есть какой-то подводный камень, который скрывают? > > P.P.S > А что еще есть интересного в Perl? Подскажите направление? > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
