[Python-Dev] GIL removal question (original) (raw)
David Beazley dave at dabeaz.com
Wed Aug 10 13:32:27 CEST 2011
- Previous message: [Python-Dev] GIL removal question
- Next message: [Python-Dev] GIL removal question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Aug 10, 2011, at 6:15 AM, Nick Coghlan wrote:
On Wed, Aug 10, 2011 at 9:09 PM, David Beazley <dave at dabeaz.com> wrote:
You're forgetting step 5.
5. Put fine-grain locks around all reference counting operations (or rewrite all of Python's memory management and garbage collection from scratch). ... After implementing the aforementioned step 5, you will find that the performance of everything, including the threaded code, will be quite a bit worse. Frankly, this is probably the most significant obstacle to have any kind of GIL-less Python with reasonable performance. PyPy would actually make a significantly better basis for this kind of experimentation, since they don't use reference counting for their memory management.
That's an experiment that would pretty interesting. I think the real question would boil down to what else do they have to lock to make everything work. Reference counting is a huge bottleneck for CPython to be sure, but it's definitely not the only issue that has to be addressed in making a free-threaded Python.
Cheers, Dave
- Previous message: [Python-Dev] GIL removal question
- Next message: [Python-Dev] GIL removal question
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]