Projects / Coro

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.

Tags
Licenses
Implementation

RSS 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 13: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 16:21

    No changes have been submitted for this release.

    Screenshot

    Project Spotlight

    protracer

    A simple raytracer.

    Screenshot

    Project Spotlight

    Uptimed

    A daemon that tracks the highest uptimes a system has had.