> 
> 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

Ответить