Medium
medium.com › @suganthi2496 › subinterpreters-free-threading-in-python-3-13-can-they-double-your-fastapi-throughput-215eea348ad0
🧵 Subinterpreters & Free-Threading in Python 3.13: Can They Double Your FastAPI Throughput? | by Suganthi | Medium
June 7, 2025 - The Global Interpreter Lock (GIL) has long limited Python’s concurrency — until now. Python 3.13 is breaking boundaries with subinterpreters and the nogil prototype.
Videos
Real Python
realpython.com › python312-subinterpreters
Python 3.12 Preview: Subinterpreters – Real Python
May 3, 2024 - The proposed changes in PEP 554, which should come into effect for Python 3.13, are likely more interesting to the average Python developer, especially since they allow you to access this feature from Python. However, they’re really the fundamental building blocks for allowing more user-friendly access to subinterpreters.
PyCon US
us.pycon.org › 2024 › schedule › presentation › 128
Subinterpreters and Free-Threading in Python 3.13
Python 3.12 introduced a new parallel execution model called "sub interpreters" that uses a per-interpreter GIL to unlock a new way of writing parallel code that's faster than multiprocessing. Python 3.13 introduces another new parallel execution model called "free-threading" (previously called ...
LWN.net
lwn.net › Articles › 985041
Python subinterpreters and free-threading [LWN.net]
August 20, 2024 - The quick conclusion that can be drawn is that "subinterpreters are really like multiprocessing with less overhead and shared memory", he said. Moving on to the free-threading interpreter (which is the preferred term for the no-GIL version), he noted that Python 3.13 beta 1, which had been ...
GitHub
github.com › faster-cpython › ideas › blob › main › 3.13 › README.md
ideas/3.13/README.md at main · faster-cpython/ideas
We plan three parallelizable pieces of work for 3.13: ... Enabling subinterpreters from Python code (PEP 554).
Author faster-cpython
Mouse Vs Python
blog.pythonlibrary.org › home › python 3.13 allows disabling of the gil + subinterpreters
Python 3.13 Allows Disabling of the GIL + subinterpreters - Mouse Vs Python
March 14, 2024 - That means that the GIL will still be on by default in Python 3.13 while they test the GIL-less version and find all the bugs the change causes. Hopefully, by 3.14 or so, they will know all the bugs and have them fixed to some degree or another. A related enhancement are subinterpreters, which Eric Snow has worked on for quite some time.
Stack Overflow
stackoverflow.com › beta › discussions › 77957639 › implications-of-subinterpreters-in-python-3-13
Implications of subinterpreters in Python 3.13 - Stack Overflow
I have experience with using threads in Python, but I came to know that a concept of subinterpreters will be introduced in Python 3.13.
Reddit
reddit.com › r/programming › python 3.13 beta: the new features and fixes coming soon
r/programming on Reddit: Python 3.13 Beta: The New Features and Fixes Coming Soon
May 11, 2024 - Hopefully there'll be progress on the datetime module fully supporting subinterpreters and the new free-threading builds; it's pretty hard to take advantage of those features if it means you can't deal with times or dates.
GitHub
github.com › jsbueno › extrainterpreters
GitHub - jsbueno/extrainterpreters: Utilities for using Python's PEP 554 subinterpreters
While approved, the PEP is not in its final form, and as of Python 3.13 the interpreters module suggested there is made available as _interpreters. (And before that, in Python 3.13, it is available as _xxsubinterpreters. With the implementation of PEP 684 before Python 3.12, using subinterpreters became a lot more interesting, because each subinterpreter now has an independent GIL.
Starred by 122 users
Forked by 8 users
Languages Python 96.8% | C 3.2% | Python 96.8% | C 3.2%
Readthedocs
pythondev.readthedocs.io › subinterpreters.html
Python Subinterpreters — Unofficial Python Development (Victor's notes) documentation
Effects of the EXPERIMENTAL_ISOLATED_SUBINTERPRETERS macro: Good things! Per-interpreter GIL!!! Use a TSS to get the current Python thread state (‘tstate’)
Python
peps.python.org › pep-0554
PEP 554 – Multiple Interpreters in the Stdlib | peps.python.org
Along with exposing the existing (in CPython) multiple interpreter support, the module will also support a basic mechanism for passing data between interpreters. That involves setting “shareable” objects in the __main__ module of a target subinterpreter. Some such objects, like os.pipe(), may be used to communicate further.
GitHub
github.com › python › cpython › issues › 138045
Python 3.13 breaks circular imports through single-phase extension modules using non-isolated subinterpreters · Issue #138045 · python/cpython
August 22, 2025 - Python 3.13 breaks circular imports through single-phase extension modules using non-isolated subinterpreters#138045
Author marcan
Readthedocs
anyio.readthedocs.io › en › latest › subinterpreters.html
Working with subinterpreters — AnyIO 4.13.0.post2 documentation
Subinterpreters are only supported on Python 3.13 or later
Real Python
realpython.com › python314-new-features
Python 3.14: Cool New Features for You to Try – Real Python
August 28, 2025 - For a deeper dive into the backstory, see Python 3.12: Subinterpreters. The Global Interpreter Lock (GIL) ensures that only one thread can execute Python bytecode at a time. While this design has simplified CPython’s memory management for decades, it has also been a fundamental bottleneck for CPU-bound multithreaded applications. Overcoming this limitation has been a major goal for the Python community, and Python 3.14 delivers a significant step forward. In Python 3.13...