On 15.10.12 16:46, Nick Coghlan wrote:
Alternatively I could also imagine to write real generators or coroutines as an extension module. It would use the same concept as generators, internally. No big deal, not changing the interpreter, maybe adding a bit. Tangentially related, there are some patches [1,2] on the tracker looking to shuffle a few things related to generator state around to get them out of the frame objects and into the generator objects where
On Mon, Oct 15, 2012 at 11:57 PM, Christian Tismer <tismer@stackless.com> wrote: ... they belong. There are definitely a few things that could do with cleaning up in this space.
[1] http://bugs.python.org/issue13897 [2] http://bugs.python.org/issue13607
Thanks for pointing me at that. I think Mark Shannon has quite similar thoughts. I need to talk to him.
I think this would make Greenlet and even Stackless obsolete in most cases which are of real use. The "take this synchronous code and magically make it scale better" aspect is still a nice feature of greenlets & gevent.
I had a deeper look into gevent and how it uses greenlet and does its monkey-patching. Indeed, cute! My assumption was that I could write a surrogate greenlet using the advanced generators. But I overlooked that for this to work, everything must behave like generators. Not only the surrogate greenlet, but also the code that it wants to switch. Argh... A work-around for gevent would be a rewrite of all supported modules to patch. Not a cake walk. Thanks, you gave me a lot of insight!
I would like to discuss this and maybe do a prototype. Sure, I think there's several things we can do better here, and I think the test suite is comprehensive enough to keep us honest.
Cheers, Nick.
Cheers - Chris -- Christian Tismer :^) <mailto:tismer@stackless.com> Software Consulting : Have a break! Take a ride on Python's Karl-Liebknecht-Str. 121 : *Starship* http://starship.python.net/ 14482 Potsdam : PGP key -> http://pgp.uni-mainz.de phone +49 173 24 18 776 fax +49 (30) 700143-0023 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/