> Also, beware of the Global Interpreter Lock.
> 
> http://raymondtay.blogspot.com/2008/11/python-performa
> nce-and-gil.html

I only glanced over the article because I am aware of the issues around the GIL 
and threads. The multiprocessing module is a great work-around for this. 
http://docs.python.org/library/multiprocessing.html

Instead of parallel execution in threads (which is impossible due to the GIL), 
parallel execution happens in processes instead. Some overhead is incurred 
because each process has it's own stack/heap etc, and IPC is a little slower 
than in process locking semantics, but for most applications the overhead is 
negligible.

When OS semaphores are detected correctly when building python, you get some 
nice features in the multiprocessing package for synchronization such as 
synchronized queues. Without the semaphores, you can still synchronize your 
processes on but it is a little harder because you have to use pipes or other 
mechanisms.

-John
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to