[Stackless] Planning Stackless Lite
Kristján Valur Jónsson
kristjan at ccpgames.com
Wed Feb 3 22:25:53 CET 2010
I'd just like to chip in that for any embedded application using C, the greenlet approach is essential in order to work with an active C stack.
I'd also like to comment that in my opinion, preemtive scheduling of tasklets is a sure path to madness. In my experience, cooperative scheduling makes much more sense, and is what makes using stackless such a joy.
However, if for any stackless lite, we were to need help from the sys.checkinterval() feature, then I think it would be a straightforward matter to extend standard python to be able to invoke callbacks during the checkinterval houskeeping. This would eliminate any need to do evil code injection at runtime.
I have previously submitted code to that part of python, to be able to register a C callback to be called (once) next housekeeping interval.
> -----Original Message-----
> From: stackless-bounces at stackless.com [mailto:stackless-
> bounces at stackless.com] On Behalf Of Stephan Diehl
> Sent: 3. febrúar 2010 18:14
> To: The Stackless Python Mailing List
> Subject: Re: [Stackless] Planning Stackless Lite
> Hi Andrew,
> Andrew Francis wrote:
> > So greenlets can be taken out of the stackless.py module if one
> > is compiling to pypy-c? Again, pardon my lack of knowledge. In this
> > context, what are greenlets providing? Does this imply that
> > needs a minor rewriting?
> there seems to be some kind of misunderstanding.
> The pypy applevel stackless.py uses Coroutines in order to implement
> functionality. These Coroutines are integral part of pypy if you
> it with the --stackless option. If you are using this stackless module
> somewhere else, the coroutines are emulated by greenlets. So, in other
> words, the greenlets are a fallback option if native Coroutines are not
> Hope this make sense, Stephan
> Stackless mailing list
> Stackless at stackless.com
More information about the Stackless