Projects / Coro


Coro is a package providing both low-level coroutines as well as a high-level multitasking abstraction on top of Perl. It allows you to parallelize LWP and other network protocols with ease. Unlike the so-called "Perl threads/fork emulation", they provide a real shared address space (like real threads) without the associated race conditions and performance loss, while maintaining a very low memory overhead (2-3kb/coroutine). The package comes with examples and many supporting modules.


Recent releases

  •  13 Mar 2009 21:44

    Release Notes: Bugs in Coro::SemaphoreSet were fixed. Coro::SemaphoreSet will less frequently create a semaphore needlessly. An experimental feature was added.

    •  16 Apr 2008 20:27

      Release Notes: This release is fully Perl 5.10 compatible (and lifts some of the restrictions present in older Perl releases). Coroutine memory size has been reduced to less than 3kb including stacks on 32-bit machines. A new event backend, Coro::EV, is available. Coro::Util can take advantage of EV::ADNS for asynchronous DNS resolution. Coro::Debug allows backtraces, runtime tracing, code injection, and more, and offers an interactive shell that works out of the box in event-based programs, even for non-coroutine programs. Coro::BDB supports async Berkeley DB access. Many bugs have been fixed.

      •  06 Oct 2007 23:21

        No changes have been submitted for this release.


        Project Spotlight


        A Fluent OpenStack client API for Java.


        Project Spotlight

        TurnKey TWiki Appliance

        A TWiki appliance that is easy to use and lightweight.