Спасибо за чёткий ответ. Совсем позабылось, что в Ruby и в node-fibers поддержка из коробки.<div><br></div><div>В таком случае я бы Coro использовать не стал.<br><br><div class="gmail_quote">26 мая 2012 г., 0:00 пользователь Vladimir Timofeev <span dir="ltr"><<a href="mailto:vovkasm@gmail.com" target="_blank">vovkasm@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">25 мая 2012 г., 15:43 пользователь Ivan Petrov<br>
<<a href="mailto:i.petro.77.00@gmail.com">i.petro.77.00@gmail.com</a>> написал:<br>
</div><div><div class="h5">> спасибо всем за флейм, а все-таки о сабже.<br>
> Никто не делал HTTPD на короутинах? посоветуйте что-то готовое?<br>
><br>
> я нашел Corona на cpan. есть отзывы?<br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br>
</div></div>Проверил сейчас Corona, вроде работает на "Hello, world!", на чем-то<br>
сложном долго проверять.<br>
Даже не свалилось при LIBEV_FLAGS=8 - это включение kqueue на FreeBSD<br>
в дефолтовом цикле у libev.<br>
<br>
Детально я все это щупал года 1.5 - 2 назад. Тогда было так (целевая<br>
платформа FreeBSD):<br>
* Coro - сплошные core-дампы на FreeBSD, получались только простейшие<br>
вещи из документации, шаг вправо, шаг влево - core.<br>
* Corona - не работала вообще<br>
* EV - основной цикл в kqueue не работал, приходилось делать его в<br>
select, а уже в него вставлять embedded loop на kqueue для основной<br>
работы. (А еще ему нужен линкинг с pthreads для pthread_atfork, что<br>
добавляло балаган в порядок следования "use" для разных XS-модулей)<br>
<br>
Теперь мысли в слух. В принципе контекст выполнения в Perl довольно<br>
"развесистый" - штук 5 стеков + дофига глобальных сущностей, типа<br>
$1,$2 и т.п. А прерывание нормальной цепочки выполнения вставкой cede<br>
потребует сохранения этого стейта, что наверняка не быстро (если<br>
сравнивать со "звездообразным" графом передачи управления при работе с<br>
eventloop'ами). Плюс не очень безопасно, т.к. можно что-то забыть,<br>
плюс головная боль, т.к. все это может меняться от версии к версии.<br>
Поэтому мое имхо таково:<br>
1. Для серьезных проектов я лично Coro юзать пока не собираюсь.<br>
2. Без поддержки в языке, короутины будут медленнее, чем eventloop. И<br>
для меня это замедление не стоит  "спрямления" логики выполнения из<br>
коллбэков в прямолинейный код.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Vladimir Timofeev <<a href="mailto:vovkasm@gmail.com">vovkasm@gmail.com</a>><br>
<br>
# Не говорить с человеком, с которым можно говорить, значит потерять человека;<br>
# говорить с человеком, с которым нельзя говорить, значит терять слова.<br>
# Умный человек не теряет человека и не теряет слов.<br>
#-- Конфуций<br>
</font></span><div class="HOEnZb"><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br></div>