As we approach the final release date for Python 3.13, I’ve seen an uptick in
discussion regarding 3.13’s introduction of an optional GIL. While removing the GIL has been a long time
coming for the average user (I’ve dreamt of this for nearly 20 years), there
have actually been two concurrent efforts to improve Python’s performance for
multithreading. The first is the optional GIL, specified in PEP 703, and
second is the introduction of a per-interpreter GIL, specified in PEP 684 and
introduced in Python 3.12.
That was silly and clever, I enjoyed reading that :)