Bug#536551: ITP: libcoro-perl -- the only real threads in perl
Package: wnpp
Owner: Jonathan Yu <frequency@cpan.org>
Severity: wishlist
X-Debbugs-CC: debian-devel@lists.debian.org
* Package name : libcoro-perl
Version : 5.151
Upstream Author : (information incomplete)
* URL : http://search.cpan.org/dist/Coro/
* License : Artistic | GPL-1+
Programming Lang: Perl
Description : the only real threads in perl
Coro 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 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's 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 runs over 300 times faster on a
single core than perl's pseudo-threads on a quad core using all four cores.
Reply to: