A discussion of Python’s removal of global interpreter locks

Chuanhui Wu

Abstract


Almost all versions of Python use the Global Interpreter lock (GIL) for thread safety. Although GIL removal has been
proposed several times, it has never been implemented. However, Python has now adopted PEP 703 for Python projects, which proposes to
gradually remove GIL locks over the next few years to improve the multithreading performance of Python code. This is a bold eff ort that
will bring unprecedented changes to Python. Therefore, it is necessary to learn more about GIL, how to remove GIL, analyze the pros and
cons of removing GIL, and analyze the various eff ects of removing GIL on Python.

Keywords


Python; GIL; Thread

Full Text:

PDF

Included Database


References


[1]WANG Y, WU C J, WANG X, et al. Exploiting Parallelism Opportunities with Deep Learning Frameworks[J]. ACM Transactions on Architecture and

Code Optimization,ACM Transactions on Architecture and Code Optimization, 2019.

[2]CHOI J, SHULL T, TORRELLAS J. Biased reference counting: minimizing atomic operations in garbage collection[C/OL]//Proceedings of the 27th

International Conference on Parallel Architectures and Compilation Techniques. 2018. http://dx.doi.org/10.1145/3243176.3243195.

[3]Sam Gross, PEP 703 – Making the Global Interpreter Lock Optional in CPython[EB/OL]. https://peps.python.org/pep-0703/, 2023

[4]Nogil,Multithreaded Python without the GIL[DB/OL]. https://github.com/colesbury/nogil/tree/f7e45d6bfbbd48c8d5cf851c116b73b85add9fc6, 2022




DOI: https://doi.org/10.18686/esta.v10i3.503

Refbacks

  • There are currently no refbacks.


Copyright (c) 2023 Chuanhui Wu