[Stackless] Sprinting at PyCon

Alain Poirier alain.poirier at net-ng.com
Mon Apr 14 17:53:50 CEST 2014


Hi Anselm,

Le 14 avr. 2014 à 03:48, Anselm Kruis <a.kruis at science-computing.de> a écrit :

> Hi Alain,
> 
> another unique feature of Stackless is pickling/unpickling of tasklets and many other python types. This feature is essential for many applications

Sure, tasklets pickling is in fact exactly why we need Stackless (or PyPy) for
our Nagare framework :)

> and probably needs some additional C-code besides 'tealet' / '_continuation’.

You’re right, ‘continuation’ are pickleable in PyPy but with Stackless, we need
to have the soft-switching too. So the general idea would be to only keep in C
the soft switching, the hard switching and the pickling enhancements, with a very
simple API (the same API than ‘continuation’ in PyPy).

> That said I like your proposal, but I doubt that we have enough man power to implement it.

Yes, I think so too

Best regards,
Alain

> Cheers
>  Anselm
> 
> Am 13.04.2014 18:07, schrieb Alain Poirier:
>> Hi all,
>> 
>> I would like to discuss how it'd be possible or not for Stackless to follow the
>> same path than PyPy:
>> 
>>   - A simpler Stackless core, with only the 'tealet' / '_continuation' stack
>>     switch, writing in C. Exposing the same API than PyPy.
>>     IIRC, Krisjan already has such a Stackless version.
>> 
>>   - All the high level features of Stackless like Tasklets and Channels moved to
>>     the 'stackless.py' pure Python module.
>> 
>>   - An emulation of the greenlets API, in a 'greenlet.py' pure Python module.
>> 
>>   - Bonus point if these 'stackless.py' and 'greenlet.py’ modeules are shared /
>>     co-developed with the PyPy project :)
>> 
>> I see several advantages then:
>> 
>>   - Greenlets and Stackless features being Python modules, easier experimentations
>>     are possible. For example writing other scheduling policy or higher concurrency
>>     primitives such like Andrew's select/join.
>> 
>>   - With a 'greenlet.py' compatible module, lots of softwares like ‘gevent’ could
>>     work without any modification.
>> 
>>   - Works on 'greenlet.py' and 'stackless.py' can profit both to Python Stackless
>>     and PyPy.
>> 
>> Just my 2 cents,
>> Alain
>> 
> -- 
> Dipl. Phys. Anselm Kruis                       science + computing ag
> Senior Solution Architect                      Ingolstädter Str. 22
> email A.Kruis at science-computing.de             80807 München, Germany
> phone +49 89 356386 874  fax 737               www.science-computing.de
> -- 
> Vorstandsvorsitzender/Chairman of the board of management:
> Gerd-Lothar Leonhart
> Vorstand/Board of Management:
> Dr. Bernd Finkbeiner, Michael Heinrichs, Dr. Arno Steitz, Dr. Ingrid Zech
> Vorsitzender des Aufsichtsrats/
> Chairman of the Supervisory Board:
> Philippe Miltin
> Sitz/Registered Office: Tuebingen
> Registergericht/Registration Court: Stuttgart
> Registernummer/Commercial Register No.: HRB 382196




More information about the Stackless mailing list