Thank you, very complete and interesting exploration of the Gil! I would assume the "nogil" would be a flag during install/compile, but looking at how complex the threading implementation is I now doubt it!
Actually nevermind, reading the PEP they do propose a --disable-gil flag, and not using it would in theory keep your I/O bound programs as fast as they were
Fantastic video. I'm not a Python Programmer but I wonder why CPython doesn't handle this like other programming languages that support concurrency out of the box. I mean why don't they remove the GIL and then add new keywords to the language that can be used to provide atomicity and sequential consistency? Something like Java/.Net volatile. Are they worried about backwards compatibility?
GIL is not that uncommon, If I'm not mistaked, the Ruby uses GIL too. and they are not completely removing it, they are adding a switch to the interpreter.