The tutorial itself is fantastic - it's not an easy feature to try out right now but I got there by following the step-by-step instructions.
Also interesting is this project, linked to from the end of the tutorial: https://github.com/jsbueno/extrainterpreters
Posted my own set of short notes on my blog: https://simonwillison.net/2023/May/15/per-interpreter-gils/
colesbury/nogil https://github.com/colesbury/nogil :
docker run -it nogil/python
docker run -it nogil/python-cuda
My understanding is that it's based on the most recent attempt to remove the GIL by Sam Gross
https://github.com/colesbury/nogil
In addition to some ways to try to not have nogil have as much overhead he added a lot of unrelated speed improvements so that python without the gil would still be faster not slower in single thread mode. They seem to have merged those performance patches first that means if they add his Gil removal patches in say python 3.12 it will still be substantially slower then 3.11 although faster then 3.10. I hope that doesn't stop them from removing the gil (at least by default)
https://github.com/colesbury/nogil/
Interesting article about it here:
https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0...
This is in very active development[1]! And seems like the Core Team is not totally against the idea[2].
[1] https://github.com/colesbury/nogil
[2] https://pyfound.blogspot.com/2022/05/the-2022-python-languag...