Stackless Python and Python 2.x
Gordon McMillan
gmcm at hypernet.com
Sun Sep 2 08:06:48 EDT 2001
More information about the Python-list mailing list
Sun Sep 2 08:06:48 EDT 2001
- Previous message (by thread): Stackless Python and Python 2.x
- Next message (by thread): Stackless Python and Python 2.x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Joal Heagney] >> Wasn't a big part of the generator addition that it supplies a >> simpler-to-understand solution to the majority of continuations >> solutions? [Tim Peters] > I expect that if you dug into all the applications using Stackless, > you'd find that the majority of them rely on full-blown coroutines or > microthreads. It's unclear how far PEP 255's "Simple Generators" can > be pushed towards those specific ends. Alas, not far enough. I've used Stackless a number of times to turn state machines inside out (where the number of events is smallish but the state stuff is complex, this is a wonderful simplification). Generally this means that there's a whole set of frames hanging around when I "yield". To the non-coroutine aware, this is better explained from a thread POV - I have a bunch of "threads" that are dispatched when an event is received, and only swap out when they want to. The advantages over real threads are enormous: - lightweight - system level locks never needed - user level locks rarely needed The only downside is relatively minor - I have to make sure that one "thread" doesn't monopolize the CPU. > Neil Schemenauer discovered that it was possible to code the > "traditional" coroutine examples using simple generators instead... Yah, well your "traditional" thread example prints the numbers 1 through 10 twice in some interleaving... - Gordon
- Previous message (by thread): Stackless Python and Python 2.x
- Next message (by thread): Stackless Python and Python 2.x
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list