Coro
Coro
https://metacpan.org/release/Coro
Perl framework implementing coroutines
Coro is a collection of modules which manages continuations in general, most often in the form of cooperative threads (also called coros, or simply "coro" in the documentation). They do not actually execute at the same time, even on machines with multiple processors.
The specific flavor of thread offered by this module also guarantees you that it will not switch between threads unless necessary. It switches at easily- identified points in your program, so locking and parallel access are rarely an issue, making threaded programming much safer and easier than using other threading models.
Coro provides a full shared address space, which makes communication between threads very easy. A parallel matrix multiplication benchmark runs over 300 times faster on a single core than perl's ithreads on a quad core using all four cores.
Licensing
License
Verified by
Verified on
Notes
License
Verified by
Debian
Verified on
20 March 2013
Notes
License: BSD or GPL-2+
BSD:
This program is free software; you can redistribute it and/or modify Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright not- ice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANT- IES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLA- IMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
GPL-2+:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
On Debian systems, the complete text of version 2 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'.
License
Verified by
Debian
Verified on
20 March 2013
Notes
License: Artistic or GPL-1+
Artistic:
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl.
On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'.
GPL-1+:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.
On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'.
License
Verified by
Debian
Verified on
20 March 2013
Notes
License: BSD
This program is free software; you can redistribute it and/or modify Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright not- ice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANT- IES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLA- IMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.License
Verified by
Debian
Verified on
20 March 2013
Notes
License: LGPL-2.1+
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version.
On Debian systems, the complete text of version 2.1 of the the GNU Lesser General Public License can be found in `/usr/share
/common-licenses/LGPL-2.1'.
Leaders and contributors
Contact(s) | Role |
---|---|
Marc Lehmann | contact |
Resources and communication
Audience | Resource type | URI |
---|---|---|
Debian (Ref) (R) | https://tracker.debian.org/pkg/libcoro-perl | |
Python (Ref) | https://pypi.org/project/coro | |
Perl (Ref) | https://metacpan.org/release/Coro |
Software prerequisites
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.