[Python-Dev] Stackless Python 1.0 + Continuations 0.6

Christian Tismer tismer@tismer.com
Thu, 20 Jan 2000 21:35:27 +0100


ANNOUNCING:

               Stackless Python 1.0
           A Python Implementation That
             Does Not Use The C Stack

               * plus the real toy *

              Continuation Module 0.6
        Continuations as First Class Objects

What is it?
A plugin-replacement for core Python.
It should run any program which runs under Python 1.5.2 .
But it does not need space on the C stack.

Why did I write it?
Stackless Python was never written before (afaik), since it
was said to be impossible without major rewrites of core Python.
I have proven the controverse: It is easy to write, just hard to think.
About 3 times harder was finally the continuation module.
The whole project took about 6 man months where 80 percent of
the time was thinking and trying. The rest was coding and to
become a reference counting champion :-)

Recent changes:
Version 1.0 has been optimized like hell and is now
3-5 percent faster than Standard Python.

Continuation module is in version 0.6, very stable,
and it allows to save a program's "future" at any
time, in a portable way. Continuations are callable
Python objects with a very small footprint.

Who needs it?
Since the continuations are done, this is no more
only useful for C programmers who want to try certain new
ideas. Everybody who is interested to develop his
own generators, coroutines and tiny threads is
invited to check it out.

Status of the final 1.0:
Pystone works correctly and is 5% faster than standard
Python. Version 0.3 was 10 percent slower.
Continuations work with PythonWin and Idle.

The overall result is now better than expected,
and I'm happy to call this *FINAL*
(until the next version of course:)

Downloadable files can be found at
http://www.tismer.com/research/stackless/

Some older documentation:
http://www.tismer.com/research/stackless/stackless.htm

Some better documentation can be found in my IPC8 paper:
http://www.tismer.com/research/stackless/spc_final.zip
or be read directly as HTML
http://www.tismer.com/research/stackless/spcpaper.htm

Source code and a VC++6.0 build for Windows (340K):
http://www.tismer.com/research/stackless/spc_win32.zip

cheers - chris

== 
Christian Tismer             :^)   <mailto:tismer@appliedbiometrics.com>
Applied Biometrics GmbH      :     Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101   :    *Starship* http://starship.python.net
10553 Berlin                 :     PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint       E182 71C7 1A9D 66E9 9D15  D3CC D4D7 93E2 1FAE F6DF
     we're tired of banana software - shipped green, ripens at home

<P><A HREF="http://www.tismer.com/research/stackless/stackless.htm">
Stackless Python 1.0</A>
 - a version of Python 1.5.2 that does not need space on the C
stack.  (20-Jan-00)