PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org
The Steering Council accepts PEP 703, but with clear proviso: that the rollout be gradual and break as little as possible, and that we can roll back any changes that turn out to be too disruptive – which includes potentially rolling back all of PEP 703 entirely if necessary (however unlikely or undesirable we expect that to be). CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using multi-core CPUs from Python efficiently. This PEP proposes adding a build configuration (--disable-gil) to CPython to let it run Python code without the global interpreter lock and with the necessary changes needed to make the interpreter thread-safe. The GIL is a major obstacle to concurrency. For scientific computing tasks, this lack of concurrency is often a bigger issue than speed of executing Python code, since most of the processor cycles are spent in optimized CPU or GPU kernels. The GIL introduces a global bott
PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org Selected dark colour scheme Selected light colour scheme PEP 703 – Making the Global Interpreter Lock Optional in CPython PEP 703 – Making the Global Interpreter Lock Optional in CPython Author : Sam Gross <colesbury at gmail.com> Sponsor : Łukasz Langa <lukasz at python.org> Discussions-To : Discourse thread Status : Final Type : Standards Track Created : 09-Jan-2023 Python-Version : 3.13 Post-History : 09-Jan-2023 , 04-May-2023 Resolution : 24-Oct-2023 Table of Contents Abstract Motivation The GIL Makes Many T
saved by
related reading
- GitHub - pablogsal/python-horror-show: Strange and odd python snippets explainedgithub.com
- Python behind the scenes #13: the GIL and its effects on Python multithreadingtenthousandmeters.com
- What Is the Python Global Interpreter Lock (GIL)? – Real Pythonrealpython.com
- Global interpreter lock - Wikipediaen.wikipedia.org
- Running Python Parallel Applications with Sub Interpreterstonybaloney.github.io
- abseil / Performance Hintsabseil.io
- How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance: a Worklogsiboehm.com
- Why Learn Python Concurrency – SuperFastPythonsuperfastpython.com
- Speeding up your code when multiple cores aren’t an optionpythonspeed.com
- styleguide | Style guides for Google-originated open-source projectsgoogle.github.io
- An Intro to Threading in Python – Real Pythonrealpython.com
- The Global Object Patternpython-patterns.guide