Overview
Explore Python's Global Interpreter Lock (GIL) in this informative conference talk from EuroPython 2015. Delve into the history, benefits, and drawbacks of the GIL, and understand its impact on multithreaded programming. Learn about the problems it solves and causes, as well as the challenges involved in removing it. Gain insights into topics such as reference counting, deadlocks, I/O bound code sharing, and the evolution of the GIL from Python 2.7 to the "new GIL." Discover how the GIL affects Python's performance across multiple cores and examine potential solutions like the "free-threading" patch, atomic operations, and modern language virtual machines. Suitable for those familiar with multithreaded programming concepts and comfortable with basic C code examples.
Syllabus
python's infamous gil
1992
reference counting with threads
multiple locks
deadlock
introducing: the gil
the 2.7 gil
gil ramifications
sharing the gil in i/o bound code
dave beazley's gil research
release ACQUIRE release ACQUIRE
the "new gil"
meanwhile... the world has changed
running python across multiple cores
guido speaks
the "free-threading" patch
atomic incr/decr
python interpreters
pure garbage collection
modern language vms
my opinion
Taught by
EuroPython Conference