[Stackless] announcing Concurrence Framework

Henk Punt henkpunt at gmail.com
Tue Jan 20 00:00:03 CET 2009


Hi Allain

I have the same stackless version, so it is possibly related to libevent.
I tested and developed against libevent 1.3e (this is current version
on stock ubuntu)
I will have a look and see if I can reproduce/fix this....


On Mon, Jan 19, 2009 at 7:48 PM, Alain Poirier <alain.poirier at net-ng.com> wrote:
> Hi,
>
> Running `examples/http.py`, my CPU jumps to 100%, even without any request
> sent (Linux, Python stackless 2.5.2, libevent 1.4.9).
>
> Any idea ?
>
> On Monday 12 January 2009 16:22:37 Henk Punt wrote:
>> Hi,
>>
>> I would like to announce the availablility of the 'Concurrence
>> Framework'. (http://concurrence.googlecode.com)
>>
>> Basically it is a library build on top of Stackless that enables the
>> easy creation of high performance network servers
>> (http servers, chat servers, comet servers etc etc).
>>
>> It is similar in scope to the Twisted framework, but it uses a
>> Lightweight-processes-with-message-passing approach to concurrency as
>> opposed to Twisteds event-driven model.
>>
>> I have created this framework out of frustration with Twisteds model.
>> After working for some years with Twisted it has become apparent to me
>> that the event-driven model for IO/socket programming although very
>> performant, quite easily leads to difficult to maintain program
>> code...
>>
>> Instead I would prefer to program in a 'blocking' style like you would
>> traditionally do with threads. At the same time I still would like to
>> retain
>> the performance and lack of threading issues of event-driven IO.
>>
>> This is what the Concurrence Framework provides... (trough Stackless
>> and libevent)
>>
>> Most notably it already includes:
>> - a Socket API,
>> - a DBAPI 2.0 compatible implementation of a MySQL Driver
>> - an implementation of a HTTP1.1/WSGI compliant webserver.
>>
>> Some components are implemented in Pyrex for speed (low level
>> interface to libevent, IO buffer interface, low-level MySQL stuff).
>>
>> The code is currently quite usable, but some interfaces might still
>> change as I gather feedback from the community.
>>
>> In the following weeks I will try to finalize the core documentation
>> and I will create a proper website to host it.
>>
>> In the meantime, anyone interested can checkout the code from coogle code:
>>
>> svn checkout http://concurrence.googlecode.com/svn/trunk/ concurrence
>>
>> from there please follow the instructions in INSTALL.TXT (currently
>> Linux/MacOSX only).
>>
>> Documentation can be found in doc/_build/html/index.html, but this is
>> a work in progress...
>> Examples used in the documentation can also be found in the examples
>> directory. The unittests in the test directory could also provide some
>> guidance on how to use the framework.
>>
>> Issues/feedback can be mailed to me or you can add an issue on
>> http://code.google.com/p/concurrence/issues/list.
>>
>> Enjoy,
>>
>> Henk Punt
>
>
>




More information about the Stackless mailing list