[Stackless] Ann: Stackless Psyco
nicholas at nichol.as
Fri Apr 16 23:23:13 CEST 2010
This sounds awesome! Great work!
On Apr 16, 2010, at 11:09 PM, Christian Tismer wrote:
> Hi friends,
> I am right now in Reykjavik, working on Stackless and Psyco
> for CCPgames. http://www.ccpgames.com
> They want a 64 bit version of Psyco, and I had to do some
> prototyping of stackless/psyco collaboration, to see if
> it makes sense at all. I think I got this done so far.
> Try out Stackless with Psyco!!!
> Stackless is unchanged, Psyco was enhanced to work with
> all versions of Stackless. Right now, psyco for stackless
> is sitting in a private subfolder on codespeak. This is
> only intermediate, psyco.org will be the main site soon.
> If you checked out psyco before, you only need to
> svn update
> and you will find a 'private' subfolder. It contains
> the not yet published norman project with all the changes
> from last year, and the new stackless support.
> For first checkout, use this:
> svn checkout http://codespeak.net/svn/psyco/v2/private/norman
> build it with setup.py, or add the supplied project file
> to your Visual Studio solution. In order to set it up
> without an extra directory, you can copy the py-support
> folder, renaming it to psyco. Adjust your python path,
> to include the directory that contains the psyco folder.
> - No softswitching
> Stackless Psyco does not work with softswitching. You can
> enable it, but psyco will do all compilation with
> softswitching suppressed. That is, you loose the ability
> to pickle tasklets when psyco is active. This will be
> improved in the future. Stackless will grow a new
> switching mode that is supported by psyco.
> - become and capture
> After you import psyco, the methods tasklet.become and tasklet.capture
> become useless. They are changed into
> Python 2.5.3a0 Stackless 3.1b3 060516 (release25-maint, Apr 16 2010, 00:14:17) [
> MSC v.1500 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import psyco, stackless
> [34782 refs]
> >>> stackless.tasklet.become
> [34784 refs]
> Ideally, I would have removed these methods. They are going away,
> and they are nearly impossible to support in Psyco. But it is
> not possible, because Stackless uses flextype, a different
> approach to make builtin bethods efficiently overridable.
> This was years before the descriptor protocol was introduced.
> flextype will go away, but until then, it needs to stay so.
> - cframes
> I had to tell psyco about cframes, because they show up in
> the Stackless generator implementation. cframes are going away,
> too. They were introduced as a speed boost. But speed is
> the domain of psyco, and everything written in Python
> will get sped up for free.
> Stackless will gradually morph away in a more compatible way,
> and eventually become an extension module like Psyco. This
> is a long path to go. It will grow a new switching mode that
> is soft, but requires no rewrite of the core functions.
> This switching mode will get full psyco support and acceleration.
> Psyco will support 64 bit. Not sure under what license, yet ;-)
> stay tuned -- chris
> Christian Tismer :^)<mailto:tismer at stackless.com>
> tismerysoft GmbH : 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 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05
> 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 stackless.com
More information about the Stackless