2 ms·
These were two separate and mostly unrelated PEPs but otherwise that's correct.
by gyrovagueGeist 2y ago
These were two separate and mostly unrelated PEPs but otherwise that's correct.
- sitkack 2y agoThanks for corroborating, I'll have to trust you. Putting interpreter state behind a struct allows for multiple CPython instances per address space and each can no run on their own thread independently, they all get their own GI(L) lock. These interpreter instances would still have their own Global to This interpreter Lock, but not a Global lock for all CPython interpreters running in a process (like it was before with interpreter state in globals). Unrelated but complementary. We could remove the GIL, making Python multithreaded, but if interpreter state was still in a handful globals, you could have only one interpreter per process. Again, could be totes wrong.