classification
Title: threading documentation makes no mention of the GIL
Type: Stage: resolved
Components: Documentation Versions: Python 3.1, Python 3.2, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: docs@python Nosy List: docs@python, georg.brandl, illume, jnoller, nobody, orsenthil, pitrou, segfaulthunter, ysj.ray
Priority: low Keywords: easy, patch

Created on 2009-06-11 20:37 by segfaulthunter, last changed 2011-01-06 16:40 by pitrou. This issue is now closed.

Files
File name Uploaded Description Edit
threading.rst.patch segfaulthunter, 2009-06-11 20:37 Add Note about GIL to threading.rst
Messages (5)
msg89259 - (view) Author: Florian Mayer (segfaulthunter) Date: 2009-06-11 20:37
I think the GIL should be mentioned in the threading documentation, so
that people do not try to use them for scalability reasons.
msg89838 - (view) Author: Jesse Noller (jnoller) * (Python committer) Date: 2009-06-29 13:52
I strongly disagree with the wording of the patch as-is. It makes no 
mention of the simple fact that I/O blocked threads get a benefit with 
threading, and so on.

I do agree with adding some details about this in the core documentation 
however.
msg93003 - (view) Author: Rene Dudfield (illume) Date: 2009-09-22 16:33
hello,

CPU intensive programs can also benefit from the GIL if they use code
which releases the GIL around the CPU intensive parts.

Some parts of python do this, as do the numpy and pygame extensions
amongst others.

Another good, but separate, documentation patch would be to document
which functions release the GIL.


cheers,
msg119597 - (view) Author: ysj.ray (ysj.ray) Date: 2010-10-26 10:06
Agree with Jesse, the description in the patch is not quite correct. I think detailed description of the GIL has been given in C API documentation: http://docs.python.org/c-api/init.html#thread-state-and-the-global-interpreter-lock. How about just give this link in threading module documentation?
msg125564 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-01-06 16:40
Ok, done in r87792, r87793 and r87794, thank you.
History
Date User Action Args
2011-01-06 16:40:37pitrousetstatus: open -> closed

nosy: + pitrou
messages: + msg125564

resolution: fixed
stage: resolved
2010-11-06 06:18:46orsenthilsetnosy: + orsenthil
2010-10-26 10:06:17ysj.raysetnosy: + ysj.ray
messages: + msg119597
2010-10-25 22:52:01pitrousetassignee: nobody -> docs@python

nosy: + docs@python
versions: + Python 3.1, Python 3.2
2010-10-25 14:20:42jnollersetpriority: normal -> low
assignee: jnoller -> nobody

keywords: + easy
nosy: + nobody
2009-09-22 16:33:30illumesetnosy: + illume
messages: + msg93003
2009-07-11 10:52:58georg.brandlsetassignee: georg.brandl -> jnoller
2009-06-29 13:52:09jnollersetnosy: + jnoller
messages: + msg89838
2009-06-11 20:37:15segfaulthuntercreate