Re: GIL cpu multi core usage problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Gabriel Genellina

    Re: GIL cpu multi core usage problem

    En Mon, 09 Jun 2008 15:26:09 -0300, Pau Freixes <pfreixes@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_p roblem.png<http ://www.milnou.net/%7Epfreixes/img/cpu_usage_gil_p roblem.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

Working...