# PEP 703: Making the Global Interpreter Lock Optional (3.12 updates)

**URL:** <https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503>\
**Category:** PEPs\
**Created:** [May 4, 2023, 6:22pm UTC](https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503 "2023-05-04T18:22:11Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![colesbury](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/colesbury/32/28031_2.png) [@colesbury](https://discuss.python.org/u/colesbury)\
**Post date:** [May 26, 2023, 3:26pm UTC](https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503/6 "2023-05-26T15:26:49Z")

</div>

Yes, as Edwin wrote, that section reports per-thread execution overhead. It doesn’t take into account any multi-threaded scaling. The pyperformance benchmark suite is almost entirely single-threaded. There is one benchmark (out of ~60) that uses threads; that benchmark is run as if it had the GIL enabled (but with the other “nogil” limitations) to avoid muddling the results.

I don’t report multithreaded results because there aren’t really any multithreaded Python benchmark suites. There are a few tiny programs that show nice linear scaling, but I don’t think those are interesting enough to include. There are some real world programs that use nogil Python, like the Dose-3D project mentioned in the PEP’s introduction, but in many of those cases GIL vs. nogil is so large that it’s basically “infeasible” vs. “feasible”. For the Dose-3D project, the important aspect was not that it ran faster without the GIL, but that it was able to meet real-time requirements. That would have been impossible with a multi-threaded Python application running with the GIL.

My [EuroPython keynote](https://www.youtube.com/watch?v=W_e54RvADMU) talks a bit about some speed-ups with my colleague’s Hanabi project. There are some actual numbers, but I think they’re more reflective of details of the project than nogil in general.

---

_[View the full topic](https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional-3-12-updates/26503)._
