[Zope-dev] Zope 2.7 running with Stackless 3.0

Christian Tismer tismer at tismer.com
Thu Aug 28 20:33:21 EDT 2003


Shane Hathaway wrote:
> On 08/27/2003 07:55 PM, Christian Tismer wrote:
> 
>> just by chance, I got into the position to try out
>> Zope 2.7.0 beta 1/2, and since it needs Python 2.2.3
>> at least, and Stackless 3.0 was just ported to that, I tried
>> to build Zope with Stackless 3.0.
>>
>> It works very very well! After a few patches to get the includes
>> right, here the installation instructions.
> 
> 
> I am in awe.  Cool. :-)
> 
> However, I am also a little confused.  As I understand it, Stackless 
> needs all C code to be non-reentrant, i.e. C code must never call back 
> into Python.

This has never been so. It was so that Stackless 1.0 could
only do its switching if there was no recursive call, sure.
But it was always allowed.
Stackless 2.0 does it the brute-force way, by moving C stacks
around.
Stackless 3.0 does all of it, whatever is possible.
That means, you can switch whatever, even extension
C code with Python callbacks. But cooperative code
can switch faster.

> But Zope has a lot of reentrant code, especially in 
> Acquisition and ZODB.  Doesn't that prevent Zope from taking advantage 
> of Stackless continuations?

No continuations, tasklets. :-)

ciao - 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  pager +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/





More information about the Zope-Dev mailing list