[Python-ideas] [Python-Dev] [ANN]: "newthreading" - an approach to simplified thread usage, and a path to getting rid of the GIL

Nick Coghlan ncoghlan at gmail.com
Tue Jun 29 14:05:07 CEST 2010


On Tue, Jun 29, 2010 at 9:54 AM, Michael Foord <fuzzyman at gmail.com> wrote:
> Full agreement. Ironclad, a project to enable the use of Python C extensions with IronPython - which has a generational moving GC, uses a hybrid approach. It allows C extensions to use reference counting but manipulates the reference count so that it can only drop to zero once there are no references left on the IronPython side. There are complications with this approach, which Ironclad handles, but that would be much easier when we have control over the implementation (Ironclad doesn't change the IronPython implementation).
>
> No link I'm afraid, sending from a mobile device.
>
> Incidentally, Ironclad also 'fakes' the GIL as IronPython has no GIL. In theory this could cause problems for C extensions that aren't thread safe but that hasn't yet been a problem in production (Ironclad is mainly used with numpy).

How much do you know about Resolver's licensing setup for Ironclad?
Combining Ironclad with a Boehm GC enabled PyMalloc mechanism might be
a fruitful avenue of research on the way to a free-threading CPython
implementation. Losing deterministic refcounting for pure Python code
is no longer as big an issue as it once was, as many of the tricks it
used to enable are now better covered by context managers.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-ideas mailing list