Как стать автором
Обновить

Комментарии 4

Какие преимущества дает использование Coro?
Ведь все то-же самое можно реализовать на AnyEvent?
Есть ли какие-то существенные отличия, может быть производительность, что-то еще?
Coro — это реализация «потоков» в perl.
AnyEvent — абстракция событийных циклов.

Вообще разные вещи.
Coro это не потоки, а короутины.

В один момент времени выполняется только один контекст. На ядра не масштабируется.

Насколько я понимаю, это вариант сделать асинхронный код более понятным, разделить логически. Других преимуществ перед AnyEvent нет.

По сути получаем ту-же возможность отложить блокирующие операции. И все.

Я прав?
Поэтому и написано в кавычках.

В общем да. Если речь идёт про обработку событий, то Coro имеет смысл использовать чтоб сделать программу более понятной.
Насчёт быстродействия в обработке событий — использование Coro::EV показывает такие же цифры как и EV в качестве бэкэнда для AnyEvent (см. доку к AnyEvent):

          name watchers bytes create invoke destroy comment
...
        EV/Any   100000   223   0.48   0.42    0.26 EV + AnyEvent watchers
  Coro::EV/Any   100000   223   0.47   0.42    0.26 coroutines + Coro::Signal
...
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации