By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,660 Members | 1,105 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,660 IT Pros & Developers. It's quick & easy.

Re: GIL cpu multi core usage problem

P: n/a
En Mon, 09 Jun 2008 15:26:09 -0300, Pau Freixes <pf******@gmail.com>
escribió:
Surly this is a recurring theme into python dev world, but I need your
help
for confirm if the follow image it's really

http://www.milnou.net/~pfreixes/img/cpu_usage_gil_problem.png<http://www.milnou.net/%7Epfreixes/img/cpu_usage_gil_problem.png>

I'm writing a brief article for my blog and I need to make sure about the
current problem with GIL and multi core environments, this picture try to
explain with images the problem for scheduling multiple threads running
python code of same interpreter into multiple cpu cores. Can anyone
confirm
to me this picture ?
Yes, if both threads are executing pure Python code, they can't run
simultaneously.

Note that:
- C extensions (usually) release the GIL when they don't call into any
Python code
- The interpreter also releases the GIL before any I/O operation
If the process is I/O bound then the GIL is not so important, and if it's
CPU bound you may benefit from reimplementing the critical parts in C (by
example, using NumPy for a number-crunching process). Another alternative
is to use multiple processes with some form of IPC instead of multiple
threads.
These are the usual arguments against "fear of GIL". You should consider
your specific application to see if the GIL is actually a problem in your
case or not.

--
Gabriel Genellina

Jun 27 '08 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.