Get the latest tech news
500 Python Interpreters
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.
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. I don’t count the C++ class I took in freshman year of high school because we just simply copied text from JPEGs of a scan of a C++ book that were scaled down so that two pages could fit on an 8.5x11" paper. As OpenGL has a “context” object that you must swap to/make current on the given thread it should be no surprise that Python implemented a similar interface while eschewing the isolated single-thread interpreter design.
Or read this on Hacker News