[Python-3000] Kill GIL?

Nick Coghlan ncoghlan at gmail.com
Mon Sep 18 13:04:57 CEST 2006


Antoine Pitrou wrote:
> Le dimanche 17 septembre 2006 à 23:16 +1000, Nick Coghlan a écrit :
>> Brett Cannon's sandboxing work (which aims to provide first-class support for 
>> multiple interpreters in the same process for security reasons) also seems 
>> like a potentially fruitful approach to distributing processing to multiple cores:
>>    - use threads to perform blocking I/O in parallel
> 
> OTOH, the Twisted approach avoids all the delicate synchronization
> issues that arise when using threads to perform concurrent IO tasks.
> 
> Also, IO is by definition not CPU-intensive, so there is no point in
> distributing IO to multiple cores (and it could even cause a small
> decrease in performance because of inter-CPU communication overhead).

Yeah, I made a mistake. The distinction is whether or not the CPU-intensive 
task is written in C/C++ or Python - threads already work fine for the former, 
but something new is needed for the latter (either better IPC support or 
better in-process multi-interpreter support that uses an interpreter-specific 
lock for interpreter-specific data structures, reserving the GIL for shared 
state).

Cheers,
Nick.



-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org


More information about the Python-3000 mailing list