I want to learn a new language...
jonathan at carnageblender.com
Wed Feb 14 16:41:00 MST 2007
On Wed, 14 Feb 2007 16:29:50 -0700, "Michael L Torrie"
<torriem at chem.byu.edu> said:
> Thought I'd interject with a few of my favorite things to hate about
> This often makes working with
> third-party libraries very painful. I had to run several python twisted
> networking apps in a debugger until I figured out just what the
> different methods and functions in twisted are expecting, the good docs
Twisted is well-known for having a very steep learning curve. I haven't
had this problem with any Python libraries I can think of.
> The other major architectural limitation in python is the GIL, a giant
> lock that synchronizes calls to the interpreters core. Thus
> multithreaded programs can not utilize multiple processing units. In
> practice this usually isn't a huge deal. I'd say much of the time a
> multithreaded app is best done with an asynchronous library anyway, like
> twisted. But threads have their place. Just be aware of this
> limitation when doing heavy computations with python.
Well, if you're doing heavy computation, it should be in a C library
that releases the GIL properly. So in practice this isn't as big a
limitation as it sounds -- all the python stdlib that deals with
blocking or disk-touching system calls does this, for instance.
More information about the PLUG