[Python-Dev] GIL musings (was Re: Thoughts fresh after EuroPython) (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Wed Jul 28 13:12:30 CEST 2010
- Previous message: [Python-Dev] GIL musings (was Re: Thoughts fresh after EuroPython)
- Next message: [Python-Dev] GIL musings (was Re: Thoughts fresh after EuroPython)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, 28 Jul 2010 11:56:16 +0100 Michael Foord <fuzzyman at voidspace.org.uk> wrote:
> This is the kind of approach that seems to hold the most promise of > removing the GIL without incurring the single-threaded performance hit > that has been the achilles heel of previous attempts at creating a > free-threaded CPython implementation. With first IronClad and now PyPy > blazing the trail in interfacing a garbage collected Python > implementation with deterministic refcounting for C extension modules, > it seems plausible that this kind of approach may eventually prove > acceptable. > > Furthermore, the with statement now provides a superior alternative to > application level tricks that previously relied on deterministic > refcounting. > > While multi-threading does break down beyond a certain number of > cores, it is possible to do safely (particularly using queues to > pass references around) and can avoid plenty of serialisation overhead > when dealing with sizable data structures. >
Breaking binary compatibility with C extensions would be "difficult" once PEP 384 (stable binary ABI) has gone into effect.
"Stable" doesn't mean eternal. At worse, we could call the result Python 4.0.
It should be noted, though, that a full GC can be detrimental to real-time applications. Kristján has already explained how some of his software disabled the cyclic GC, and took care of breaking cycles manually instead.
Regards
Antoine.
- Previous message: [Python-Dev] GIL musings (was Re: Thoughts fresh after EuroPython)
- Next message: [Python-Dev] GIL musings (was Re: Thoughts fresh after EuroPython)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]