[Stackless] announcing Concurrence Framework
andrewfr_ice at yahoo.com
Mon Jan 19 17:24:24 CET 2009
Date: Sun, 18 Jan 2009 20:35:55 +0100
From: Henk Punt <henkpunt at gmail.com>
Subject: Re: [Stackless] announcing Concurrence Framework
To: Denis Bilenko <denis.bilenko at gmail.com>
Cc: stackless at stackless.com
<7bc21cb60901181135tb0b588sced3b4689679e7c7 at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
>You might want to think of Concurrence having a similar scope to
>Twisted, but with a saner programming model (actually the first
>prototype of Concurrence used to be called 'Twistless'... :-)
When I have time, I will download Concurrence and try to integrate it
will one of my WS-BPEL prototypes. This way I can run performance tests between Concurrence and Twisted (although this is an apples to oranges comparison).
As for Twisted. Well, I have had a fair amount of success integrating Twisted with Stackless (little hiccups with 2.6.1/8.2 but that is the subject of another post). It takes relatively little code to integrate the two.
I view Twisted as having three components: a framework for building Internet applications. 2) A framework for building Internet protocols. 3) A concurrency model. As I once joked in the Twisted mailing list, Stackless makes Twisted kinky :-) A major attraction of Twisted is that it has well developed protocol library and framework.
>As far as performance goes, I you read the eventet docs, at some
>point they claim that greenlets are faster than stackless
>(for running eventlet).
>As far as I know stackless should be faster, if not, what is the
>point?, we would all be using greenlet on top of normal python.... But
>actually I think nobody ever did any proper benchmarking on this ....
I looked at Eventlets - haven't used them. I spoken to Ryan Williams at PyCon 2008. I thought I recently saw discussion about incorporating greenlets into CPython. As for performance. I don't think performance is everything. For instance, I believe programming simplicity are very important (a major attraction of Stackless).
As for performance, I'll hazard a guess. I believe one difference between greenlets (co-routines) and Stackless is that Stackless is higher level due to it including a scheduling model. Depending on what one does, this will impact aspects of performance. Again, I am still experimenting with scheduling.
More information about the Stackless