The chief drive is architectural: It makes sense to have stack slicing performed by a separate library that is easily testable on its own and which provides a robust interface to the caller. This also reduces "coupling" in the code. But the tealets also use smarter stack management. The tealet code is evolved from the greenlet module, which Armin Rigo created based on Stackless. But he added a "just in time" stack saving feature, which means that we need not have a fixed "stack base." This allows us to get rid of the "climb_stack_and*" functions and various other bits of magic nudges here and there. It should also reduce the amount of memory used by hard switched tasklets. In tealet, I iterated on this a bit, so that "tealets" can be duplicated, and share the same stack. Also, just-in-time growth now happens with additional malloc calls, not realloc, which is more efficient. An upshot of this stack management regime is that tealets work only by executing a function as a new tealet. It is not possible to capture the current execution point, because a function provides a fixed boundary to the possible stack use of that tealet (you cannot return from the function and pop the stack and still be in the same tealet) whereas capturing the stack does not. This forced me to change the way that the "main" tasklet is executed.
In short: Architectural niceness, and hopefully simpler platform support since platform support is part of the separate, smaller, and easily testable, tealet module. In addition, hopefully faster switching with less memory use. For the latter case, I really should gather some metrics, of course :) -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Anselm Kruis Sent: 4. september 2013 14:39 To: [email protected] Subject: Re: [Stackless] stackless-tealet What are the key benefits we get from tealet? I wonder, if there is any compelling reason to change the 2.7 implementation. About the license: I always choose Apache License 2.0 as suggested by the Python Software Foundation License FAQ https://wiki.python.org/moin/PythonSoftwareFoundationLicenseFaq#Contributing_Code_to_Python. Regards Anselm Am 02.09.2013 12:46, schrieb Kristján Valur Jónsson: > Ah, > Well, the code is in the repo, and it was approved by Christian. He > even closed the old branch :) > https://bitbucket.org/krisvale/stackless-tealet > > I guess I'm just waiting for some more general concensus that this is a good > plan. > I also suppose I need to set up a license for the tealet stuff, but Armin has > basically just decleared lost interest in the project and doesn't care about > it. > I think I"ll just slap the same Python license on It that stackless > has :) > > K > >> -----Original Message----- >> From: [email protected] [mailto:stackless- >> [email protected]] On Behalf Of Richard Tew >> Sent: 2. september 2013 02:20 >> To: The Stackless Python Mailing List >> Subject: Re: [Stackless] stackless-tealet >> >> Any progress with this Kristjan? >> >> _______________________________________________ >> Stackless mailing list >> [email protected] >> http://www.stackless.com/mailman/listinfo/stackless > > > > _______________________________________________ > Stackless mailing list > [email protected] > http://www.stackless.com/mailman/listinfo/stackless > -- Dipl. Phys. Anselm Kruis science + computing ag Senior Solution Architect Ingolstädter Str. 22 email [email protected] 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 _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless _______________________________________________ Stackless mailing list [email protected] http://www.stackless.com/mailman/listinfo/stackless
