mastodon.me.uk is one of the many independent Mastodon servers you can use to participate in the fediverse.
Open, user-supported, corporation-free social media for the UK.

Administered by:

Server stats:

499
active users

Hmm so why does the new no-GIL Python have a separate build when it has a command line option to run with / without the GIL? Shouldn’t it just be one binary with GIL as default until all libraries migrated (a long time)?

@drj oh the situation smells bad! What’s the reasoin though?

Sym Roe

@frabcus @drj would it change the compiled pycache files in confusing ways? More broadly I assume this is more about community management and careful rollout than for technical reasons. Everyone burnt by python 3 roll out and are being very cautious?

@symroe @frabcus [you are likely right].
on a tangent: is Python the only (p-type) language that uses the (frankly moronic) compiled bytecode cache? A quick search suggests Ruby doesn't, and I'm pretty sure PHP and Perl don't. Nor JavaScript/node. Optional in Lua (you make your own arrangements).

@drj @symroe I've not come across another one that visibly litters the file system with the caches! I guess __pycache__ these days makes this a bit nicer.

@symroe @drj reading the PEP peps.python.org/pep-0703/ and comments on LWN lwn.net/Articles/939568/#Comme ...

I /think/ (not sure):

1. There is forwards *code* compatibility, so no-gil capable C modules code will just compile fine as gil-only easily.

2. There is binary incompatibility. So if you compile a no-gil version of a module, it won't work in the gil-only CPython binary. And vice versa.

So better than 2 to 3 as source code compatible. Sad that isn't binary forwards compat, so 2 module binaries

Python Enhancement Proposals (PEPs)PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.orgCPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using multi-core CPUs from Python efficiently. This PEP proposes adding a build configuration (--disable-gil) to...