[pypy-commit] pypy default: Update the FAQ about the GIL and STM.
arigo
noreply at buildbot.pypy.org
Thu Jul 4 08:10:36 CEST 2013
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r65181:d0f456167591
Date: 2013-07-04 08:09 +0200
http://bitbucket.org/pypy/pypy/changeset/d0f456167591/
Log: Update the FAQ about the GIL and STM.
diff --git a/pypy/doc/faq.rst b/pypy/doc/faq.rst
--- a/pypy/doc/faq.rst
+++ b/pypy/doc/faq.rst
@@ -96,8 +96,21 @@
Does PyPy have a GIL? Why?
-------------------------------------------------
-Yes, PyPy has a GIL. Removing the GIL is very hard. The first problem
-is that our garbage collectors are not re-entrant.
+Yes, PyPy has a GIL. Removing the GIL is very hard. The problems are
+essentially the same as with CPython (including the fact that our
+garbage collectors are not thread-safe so far). Fixing it is possible,
+as shown by Jython and IronPython, but difficult. It would require
+adapting the whole source code of PyPy, including subtle decisions about
+whether some effects are ok or not for the user (i.e. the Python
+programmer).
+
+Instead, since 2012, there is work going on on a still very experimental
+Software Transactional Memory (STM) version of PyPy. This should give
+an alternative PyPy which internally has no GIL, while at the same time
+continuing to give the Python programmer the complete illusion of having
+one. It would in fact push forward *more* GIL-ish behavior, like
+declaring that some sections of the code should run without releasing
+the GIL in the middle (these are called *atomic sections* in STM).
------------------------------------------
How do I write extension modules for PyPy?
More information about the pypy-commit
mailing list