<div dir="ltr"><div>Экономится память, в первую очередь.</div><div><br></div><div>Например фронтенд на каждый запрос ходит к медленному бэкенду и ждёт от него ответа. Вопрос, как организовать работу фронтенда. <span style="line-height:1.5">Если каждый запрос будет обрабатываться отдельным однопоточным не асинхронным процессом, то когда число одновременных запросов превысит число процессов, запросы начнут выстраиваться в очередь, что для пользователей означает тормоза. Решение в лоб - добавить число процессов. Но каждый из них потребляет память, которая не резиновая.</span></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Альтернативы - потоки, асинхронный код, либо и то и другое вместе.</span></div><div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5">Потоки лучше, чем асинхронный код, потому что они будут выполняться на разных ядрах. Асинхронный код лучше тем, что не надо сохранять состояние процессора при переключении. В многопоточном коде надо заботиться о блокировках общих ресурсов, сложно разделять данные между потоками (общие пулы соединений к базе, общие кэши и т.д.)</span></div><div><span style="line-height:1.5"><br></span></div><div>Самое эффективное - это и то, и то вместе, если оно правильно реализовано в самом языке. Иначе - это кромешный ад, с которым лучше не связываться. В Perl - именно такой случай. Асинхронный код - это имхо лучшее, чего можно добиться от перла.</div><div><br></div></div><br><div class="gmail_quote">On Sun Feb 08 2015 at 19:35:28 Daniel Podolsky <<a href="mailto:onokonem@gmail.com">onokonem@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">о! собеседник!<br>
<br>
>> > Ага. В этом смысле асинхронный подход ближе к реальности.<br>
>> вам ближе к реальности или деньги зарабатывать?<br>
> Смотря чем зарабатывать. Есть много задач, где асинхронный код позволяет<br>
> сильно сэкономить ресурсы серверов.<br>
а вот давайте разберемся, какие именно ресурсы серверов позволяет<br>
сэкономить асинхронный код, и справедливо ли это утверждение для<br>
асинхронного кода на перле.<br>
<br>
изложите, пожалуйста, тезис об экономии подробнее. а то я так много об<br>
этом думал, что мгновенно начинаю с демонами в своей голове<br>
разговаривать, как об асинхронном перле речь заходит :(<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</blockquote></div>