On Aug 10, 2011, at 6:15 AM, Nick Coghlan wrote:

> On Wed, Aug 10, 2011 at 9:09 PM, David Beazley <d...@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
  
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to