Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Come now, how many people compile python to use it?

How many people will be surprised / upset that they have to do that once `--disable-gil` is mainlined into the default builds on python.org?

How long before 'build it yourself and use --disable-gil' becomes 'we've enabled --disable-gil by default for Great Victory for Most Users'?

I think it's very very naive to think that the flag will remain an obscure 'use if you want to build python yourself' if the PEP is successful.

> The global interpreter lock will remain the default for CPython builds and python.org downloads.

Is a joke. It means, for now. For the work in this PEP.

I mean, you've literally got the folk from numpy saying:

> Coordinating on APIs and design decisions to control parallelism is still a major amount of work, and one of the harder challenges across the PyData ecosystem. It would have looked a lot different (better, easier) without a GIL.

That isn't 'for a few people who are vaguely interested in obscure technical stuff'; this is the entire python data ecosystem, saying "this will be the default in the future because the GIL is a massive pain in the ass".

> If it doesn't work for you, use the GIL enabled.

Sure, it can be opt-out; but you're fooling yourself if you think this is going to be 'opt-in'.

It will be the default once it's completed, sooner or later, imo.

...and when the 'default' build of python breaks c-extensions, that is a breaking change, even if technically you can build your own copy of python with different compile flags.



It will probably be something like:

    brew install python@3.12-mp
    apt install python3.12-mp
Etc. I don’t think anyone actually needs to compile it themselves, unless they really want to.


Long term? I doubt it. Who’s going build those packages?

Two major parallel incompatible implementations of Python, maintained at the same time, duplicating all efforts at testing, dev, build, release train, etc. while both are maintained.

Does it sound familiar?

Even ignoring the obvious parallels to Python 3000, there’s a limited amount of time people will be bothered maintaining both.


Probably in the long-term the two build-mode will be merged and there will only be a "nogil" build-mode.

Which doesn't mean there will be no GIL. Contrary to popular belief the goal of PEP 703 is not to remove the GIL, but only to be able to disable at runtime if you need free threading, so it is an opt-in feature.

In the interim, it seems that Conda have volonteered to build the extensions that are frequently used in the scientific community.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: