Status of Python threading support (GIL removal)?

Carl Banks pavlovevidence at gmail.com
Sun Jun 21 00:38:16 EDT 2009


On Jun 20, 8:18 pm, s... at pobox.com wrote:
>     Carl> Maybe you don't intend to sound like you're saying "shut up and
>     Carl> use C", but to me, that's how you come off.  If you're going to
>     Carl> advise someone to use C, at least try to show some understanding
>     Carl> for their concerns--it would go a long way.
>
> Then you haven't been listening.  This topic comes up over and over and over
> again.  It's a well-known limitation of the implementation.  Poking people
> in the eye with it over and over doesn't help.  The reasons for the
> limitation are explained every time the topic is raised.  In the absence of
> a GIL-less CPython interpreter you are simply going to have to look
> elsewhere for performance improvements I'm afraid.  Yes, I'll drag out the
> same old saws:
>
>     * code hot spots in C or C++
>
>     * use tools like Pyrex, Cython, Psyco or Shed Skin
>
>     * for array procesing, use numpy, preferably on top of a recent enough
>       version of Atlas which does transparent multi-threading under the
>       covers
>
>     * use multiple processes
>
>     * rewrite your code to use more efficient algorithms
>
> I don't write those out of ignorance for your plight.  It's just that if you
> want a faster Python program today you're going to have to look elsewhere
> for your speedups.

Just for the record, I am not taking issue with the advice itself
(except that you forgot "use Jython/IronPython which have no GIL").
I'm not even saying that Python was wrong for having the GIL.

All I'm saying is that [this is not aimed specifically at you] this
advice can be delivered with more respect for the complainer's
problem, and less fanboy-like knee-jerk defensiveness of Python.


Carl Banks



More information about the Python-list mailing list