![]() ![]() In the sense that extension modules are unlikely to work without noteworthy modifications and even some pure Python libraries may even need to start considering locking where it had not in the past. For some things that Q&A could be easy, but for others it becomes a can of worms.įrom a steering council perspective we effectively view a 703 threading enabled interpreter at a high level as a fork of the CPython VM. Software isn’t ready for the decades of Python assumptions such a change turns on its head, even when it appears to work fine it’s a statistical qualm of “but does it really? how do we actually know? when might it not and how often?” asked for every transitive dep of code. A huge thank you for working to keep it up to date! We’re not ready to simply pronounce on 703 as it has a HUGE blast radius. “”"The steering council is going to take its time on this. Reposting the reply I put on the steering council pep 703 decision issue here per Guido’s suggestion just so it’s all in one place: If we’re going forward with nogil (and I’m not saying we are, but I can’t exclude it), let’s make sure there is a way to be able to import extensions requiring the GIL in a nogil interpreter without any additional shenanigans – neither the application code nor the extension module should have to be modified in any way (and that includes being able to run extensions build with ABI 3.x for some x). We blew it that time, and it set us back by about a decade. ![]() If there’s one lesson we’ve learned from the Python 2 to 3 transition, it’s that it would have been very beneficial if Python 2 and 3 code could coexist in the same Python interpreter. Regardless of whether that’s a reason to proclaim that nogil is Python 4, this is likely to create a rift between modules that are nogil-compatible and those that aren’t. It also breaks the ABI (if only by changing the meaning of the bits in ob_refcnt). It seems unquestionable that nogil requires some work from extension module maintainers before an extension is considered safe to use in the nogil world. I don’t have anything to add to the benchmarking discussion, but I have a thought about compatibility. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |