[Stackless] Inquiry

Christian Tismer tismer at tismer.com
Sun Nov 9 16:13:28 CET 2003

Hi Jenna,

> Let me first complement you on stackless. It is truly a valuable 
> perspective on Python. I admire your determination and know how. My 
> company is currently evaluating stackless as an option for a product we 
> are working on. To know if its a good fit I need to determine a few things.
> 1. What is the current state of stackless development? Is the software 
> currently being maintained and do you intend to make future 
> improvements? (i.e 2.3 version, PyPy version, etc.)

The software is of course maintained by me. Currently I'm trying
to solve a problem with destroying tasklets that have not finished.
This problem is hard and costs me weeks. Probably I caused this
by myself, since I wanted to do the best possible in this situation,
and it might turn out that it is better to ignore the problem,
not trying to force them to finish, but just deleting.

I am going to port Stackless to 2.3 ASAP. It is a matter of time
and money. At the moment, I have very low financial support for
it. There are a number of companies interested, and they all have
the concern whether to take this risk.
Therefore, I am thinking of forming some kind of

     Stackless Python Alliance

where all companies using Stackless should participate. The idea
is to a) have them pay a little monthly sponsorship to enable me
to continue, and b) building a community of people who know
enough of the implementation to be able to replace me, just in
case I'm hit by a bus.
I'm thinking out loud here, because I feel a need to move forward.

Concerning PyPy, the plan is clear: Stackless will be part of it,
much tighter integrated, since it directly influences the code
generation. Current Stackless is quite a huge effort to have it
fit into the C implementation. Getting rid of this was one of
my major reasons to start PyPy.
But there will be at least two years ahead until we have the first
PyPy at production level, provided that we get the EU funding.
So you should expect it, but not rely on it right now. Using Stackless
will improve it and will improve the way it will be integrated
in PyPy. In other words, your support is needed *now*.

> 2. What efforts are underway to provide bulletproof tasklet pickling. 
> Our experience with tasklets has been very satisfactory. Unfortunately, 
> pickling tasklets has fallen short of our expectations. The CStack 
> pickling limitation is forcing us to make unacceptable changes in our 
> code that make stackless less attractive. This feature is in our opinion 
> the killer app for stackless.

Well, this is an interesting point.
The thread pickling stuff is quite new. It was written on
behalf of another company, and they are very pleased with
what they got. It is however not really ready and complete.

One problem is to avoid as much C stack situations as
possible, since I see no healthy way to unpickle a C stack.
I would either have to avoid all C stack creation, which
turns out to be almost impossible, since I would have to rewrite
all extension modules. Or I would have to analyse those
situations where you need to pickle a C stack, and create special
pickling support for those situations. This might be possible,
but quite some effort, and we would have to discuss it and make
it into a paid subproject.

Let's talk about this. There are still situations where I can do
better, since the "avoid recursion" process is not totally completed,
yet. Again, I need time and support for this. Please contact
me via private email.

Just as a note: As far as I know, Stackless is the only Python
package availabe that can do any task pickling at all, so there
are not so many alternatives. I'm happy to enhance this to suit
your needs as much as I can, of course.

cheers - chris

Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  mobile +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/

Stackless mailing list
Stackless at www.tismer.com

More information about the Stackless mailing list