Path to this page:
Subject: CVS commit: wip/py-csp
From: othyro
Date: 2013-12-31 19:29:38
Message id: E1Vy44h-0000EN-8A@sfs-ml-4.v29.ch3.sourceforge.com
Log Message:
Updated to latest stable "complete" release. Depend on py-greenlet from
devel, now that it has been imported. Fix EGG_NAME, PKGNAME, improve DESCR,
general Makefile cleanup, etc. This can go into HEAD whenever someone feels
like importing it or needs it. From CHANGES.txt:
0.7.1 - 0.9.0
----------
* threads, processes and net has been completely rewritten into a new single
implementation named pycsp.parallel. Thus available implementations are now
- pycsp.parallel (default)
- pycsp.greenlets
* pycsp.greenlets has not been changed. Simple and fast.
* The trunk repository has been split into two versions. The base which
only requires standard CPython libraries and the extras version, which
adds all the extra stuff (greenlets, and so on) that requires external
libraries.
* Previously buffered channels were implemented as a string of processes. This
would greatly limit performance, as the latency for communicating across
a channel would increase. Now, a buffered channel has an internal buffer and
perform only slightly more work than an unbuffered channel. Also the buffer
has a location, which means that a buffered channel can be used to hide the
latency induced by the data-transfer latency.
* All channels in pycsp.parallel are created as network-enabled channels and supports
communicating with remote processes.
* Added a new process type @multiprocess which runs as an OS-process. This enables
mixing @process and @multiprocess in one PyCSP network.
* Added a shutdown() method, which must be called at the end of all applications
importing pycsp. It closes the channel references and waits for all references to
leave hosted channels, thus ensuring that the PyCSP network is left in a robust
state.
* Found a design flaw in AltSelect, which means that AltSelect does not guarantee
priority when affected by network and scheduling latencies. A new PriSelect have
been added which is slightly slower but does guarantee priority and thus should
be used whenever the SkipGuard is needed.
0.7.0 - 0.7.1
----------
* (pycsp.greenlets) Fixed issue with communicating on channels from the main \
namespace.
* (pycsp.greenlets) Fixed propagation of exceptions from io functions.
* Added "fair" version of AltSelect, which uses the history from an \
Alternation to perform an ordered AltSelect (priority)
* Replaced use of environment variables for some module magic.
* Added pycsp.common.trace module
* Moved AltSelect and FairSelect to a separate file (altselect.py)
* Added Channel() * 3 and 2 * Channel() functionality
* removed const.py from individual implementations.
* Added support for Jython and IronPython in the threads implementation.
Files: