Status of Python threading support (GIL removal)?

Christian Heimes lists at cheimes.de
Fri Jun 19 15:05:51 EDT 2009


OdarR wrote:
> I don't see such improvement in the Python library, or maybe you can
> indicate us some meaningfull example...?
> 
> I currently only use CPython, with PIL, Reportlab...etc.
> I don't see improvement on a Core2duo CPU and Python. How to proceed
> (following what you wrote) ?

I've seen a single Python process using the full capacity of up to 8
CPUs. The application is making heavy use of lxml for large XSL
transformations, a database adapter and my own image processing library
based upon FreeImage.

Of course both lxml and my library are written with the GIL in mind.
They release the GIL around every call to C libraries that don't touch
Python objects. PIL releases the lock around ops as well (although it
took me a while to figure it out because PIL uses its own API instead of
the standard macros). reportlab has some optional C libraries that
increase the speed, too. Are you using them?

By the way threads are evil
(http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf) and
not *the* answer to concurrency.

Christian




More information about the Python-list mailing list