[Stackless] Stackless for Palm Python port

Christian Tismer tismer at appliedbiometrics.com
Mon Oct 9 11:13:09 CEST 2000

Jeff Collins wrote:
> 1)  What is the overhead imposed by the new/modified objects?

Frames got a little larger (5 slots or so), and there are
continuation objects which are very tiny objects (3 slots).

> 2)  The current uthread.py module is quite large (approx 1500 LOC) and
> will consume a large chunk of dynamic heap on import alone.  I read that
> there are plans to convert this to C.  Will this happen any time soon?

If you have a closer look to uthread9.py, you will realize that
about two third or more of it consist of docstrings, comments and
test code. So let's account for at most 500 real lines of
python code.

The source code is 47 kb, the generated .pyc file is 63 kb.
After compiling with -OO it goes down to 44 kb.
Manually removing the test code shrinks it again to 33 kb.

Writing the same stuff with all the features in C will most
probably not generate a smaller footprint. And it should be
noted that uthread9 has very many features, where one most
probably can leave out a lot when space is a concern.

> 3)  I haven't thought much about using uthreads in an event-loop
> situation.  LispMe steps a thread along with each iteration of the event
> loop.  This is also remeniscent of Will Ware's original uthread
> implementation, where the scheduler is user defined.  What are the
> potential problems with uthreads in an event-loop environment?

No idea about this one.

> Python-1.5.2+ (post-string methods, pre-unicode) is the version ported to
> the Palm and I will need Stackless for this;  an upgrade to 2.0 is
> planned, but not for a couple of months.

ciao - chris

Christian Tismer             :^)   <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH      :     Have a break! Take a ride on Python's
Kaunstr. 26                  :    *Starship* http://starship.python.net
14163 Berlin                 :     PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint       E182 71C7 1A9D 66E9 9D15  D3CC D4D7 93E2 1FAE F6DF
     where do you want to jump today?   http://www.stackless.com
Stackless mailing list
Stackless at starship.python.net

More information about the Stackless mailing list