> > On 9 февр. 2015 г., at 12:06, Анатолий Гришаев <[email protected]> wrote: > > 09.02.2015 11:37, Daniel Podolsky пишет: >> 2015-02-09 11:17 GMT+03:00 <[email protected]>: >>> Я в большинстве задач >>> предпочитаю селект, потомучто на практике это гораздо эффективнее (быстрее) >> Это еще один тезис, к которому я бы хотел увидеть аргументы :) > Можешь посмотреть Marc Lehmann у него было тесты для select, kqueue, и т.д. > Скорее всего это не то, что тебе нужно, но что мешает сделать свои и увидеть > на хомячковых задачах > async, fork, threads это одно и тоже :) > > Можешь сравнить AnyEvent::HTTP и LWP. Первый ощутимо и даже видно на глаз.
1. глаз в этой задаче плохой измерительный прибор измерительный прибор здесь - wallclock time / cpu time / consumed memory 2. LWP - это пример ужасного кода, который обрастал десятилетиями. можно взять и перевести код AE::HTTP на синхронку и тогда сравнивать. 3. Разница между синхронным и асинхронным кодом становится видна только тогда, когда накладные расходы от планировщика OS начинают быть значимо заметными. т.е. на 100rps вы не заметите разницы между префорком с синхронным кодом и асинхронным (ну разве что LA системы на синхронном будет побольше) а вот если это 1000+ rps или ещё того хуже - 10k+ висящих постоянных соединений >> >> не потому, что я хочу поспорить - я могу пообещать НЕ спорить. я хочу >> уже понять, от чего эта идея так в народе популярна... > > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- Mons Anderson <[email protected]>
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
