Free threaded Python past, present and future
summary
Claims that CPython can lose the GIL without breaking semantics; implements PEP 703 techniques: thread-owned objects, deferred and speculative refcounts, quiescent-state reclamation, and mimalloc as a thread-aware allocator. Demonstrations show a working no-GIL fork, experimental support in 3.13 (20–40% single-thread slowdown) and much faster in 3.14 (roughly 0–10% slow down depending on platform), a path for C-extensions (module flags, critical sections) and a single stable ABI landing in 3.15.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:57Understanding the GIL
- 4:14Why threading is difficult
- 7:21Challenges of removing the GIL
- 9:40History of past attempts
- 11:51Technical implementation
- 17:44Current state and roadmap
- 20:22Porting C extensions
- 21:53Migrating Python applications
- 23:34Future outlook and Q&A
related talks
29mPython's Infamous GIL
29mGoodbye GIL: Exploring the Free-threaded mode in Python
43mGIL: What's the hassle and... should I care?
44mUnraveling Community Support For Free-Threaded Python
28mGIL: Everything You Wanted to Know and Were Afraid to Ask
29mTrying No GIL on Scientific Programming
39mUnlocking the Parallel Universe: Subinterpreters and Free-Threading in...
25mHow two teams are working together to make Python better for all
