-
-
Notifications
You must be signed in to change notification settings - Fork 30.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS #93185
bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS #93185
Conversation
I expected that this conditional code would become the default quickly, but I got way more technical issues than expected. I managed to fix many issues: https://vstinner.github.io/isolate-subinterpreters.html But there are still multiple big issues like static types, singletons or getting the thread state ("tstate") from a thread local storage (TLS). Hopefully, immortal objects may fix static types and singletons, and it seems possible to fix #84702 (tstate). This experiment was useful to discover all issues and have a better plan to fully implement the feature ("per-interpreter GIL"). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we decide to remove this flag, I would like to recommend adding the entry for What's NEWS
.
Although this flag was not intended to expose to the public user, this flag was spread out to users who have interests in the multi-core sub interpreter project.
example: https://stackoverflow.com/a/65995393
This is also broken on main branch and 3.11 as it won't even compile with this option. See #90988 |
Yes, please. |
@pablogsal, would it be okay to backport this to 3.11? (It already doesn't work on 3.11 currently.) |
Yep, I'm ok backporting this 👍 |
Thanks @ericsnowcurrently for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11. |
Sorry, @ericsnowcurrently, I could not cleanly backport this to |
…-93185) This was added for bpo-40514 (pythongh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing: * the configure option * the macro * the code enabled by the macro
… (GH-93306) (cherry picked from commit caa279d) This was added for bpo-40514 (gh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing: * the configure option * the macro * the code enabled by the macro Automerge-Triggered-By: GH:ericsnowcurrently
/ pythongh-93306 Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Part of #95913 Forward port of #93306, which was a backport of #93185, to address #84694 This adds the What's New entry for the removal of the subinterpreter-related env variable, build-time flag, etc. As @ericsnowcurrently was author of the original changes, I added him as a co-author to the commit. This addition to the Python 3.11 What's New document were only made to the Python 3.11 branch during the backport process, and not added to the version in `main`. Forward-porting it ensures the docs retain these additions for the future, rather than being lost in a legacy Python versions, allows it to be be edited as part of #95913 , and avoids merge conflicts with routine back-ports of PRs touching it. I've pulled in the addition exactly as-is with no modifications; any editing will be done in future PRs (and therefore can be reviewed and backported accordingly). The one other such addition is forward-ported in #98344
This was added for bpo-40514 (gh-84694) to test out a per-interpreter GIL. However, it has since proven unnecessary to keep the experiment in the repo. (It can be done as a branch in a fork like normal.) So here we are removing: