SlackBuilds Repository

15.0 > Perl > perl-Coro (6.57)

This module collection manages continuations in general, most often in
the form of cooperative threads (also called coros, or simply "coro" in
the documentation). They are similar to kernel threads but don't (in
general) run in parallel at the same time even on SMP machines. The
specific flavor of thread offered by this module also guarantees you
that it will not switch between threads unless necessary, at
easily-identified points in your program, so locking and parallel access
are rarely an issue, making thread programming much safer and easier
than using other thread models.

Unlike the so-called "Perl threads" (which are not actually real threads
but only the windows process emulation (see section of same name for
more details) ported to UNIX, and as such act as processes), Coro
provides a full shared address space, which makes communication between
threads very easy. And coro threads are fast, too: disabling the Windows
process emulation code in your perl and using Coro can easily result in
a two to four times speed increase for your programs. A parallel matrix
multiplication benchmark (very communication-intensive) runs over 300
times faster on a single core than perls pseudo-threads on a quad core
using all four cores.

Coro achieves that by supporting multiple running interpreters that
share data, which is especially useful to code pseudo-parallel processes
and for event-based programming, such as multiple HTTP-GET requests
running concurrently. See Coro::AnyEvent to learn more on how to
integrate Coro into an event-based environment.

In this module, a thread is defined as "callchain + lexical variables +
some package variables + C stack), that is, a thread has its own
callchain, its own set of lexicals and its own set of perls most
important global variables (see Coro::State for more configuration and
background info).

This requires: perl-AnyEvent, perl-Guard, perl-event, perl-EV

Maintained by: Sergei Fedosoff
ChangeLog: perl-Coro


Source Downloads:
Coro-6.57.tar.gz (fa5970a2a2f3df9d68d4369c7dde1a55)

Download SlackBuild:
perl-Coro.tar.gz.asc (FAQ)

(the SlackBuild does not include the source)

Individual Files:

Validated for Slackware 15.0

See our HOWTO for instructions on how to use the contents of this repository.

Access to the repository is available via:
ftp git cgit http rsync

© 2006-2024 Project. All rights reserved.
Slackware® is a registered trademark of Patrick Volkerding
Linux® is a registered trademark of Linus Torvalds