Skip to content
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

Merged
merged 5 commits into from May 27, 2022

Conversation

ericsnowcurrently
Copy link
Member

@ericsnowcurrently ericsnowcurrently commented May 24, 2022

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

@vstinner
Copy link
Member

@vstinner vstinner commented May 24, 2022

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").

Copy link
Member

@corona10 corona10 left a comment

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

@kumaraditya303
Copy link
Contributor

@kumaraditya303 kumaraditya303 commented May 25, 2022

This is also broken on main branch and 3.11 as it won't even compile with this option. See #90988

@markshannon
Copy link
Member

@markshannon markshannon commented May 25, 2022

Yes, please.
EXPERIMENTAL_ISOLATED_SUBINTERPRETERS was an interesting experiment, but it's done.

@ericsnowcurrently
Copy link
Member Author

@ericsnowcurrently ericsnowcurrently commented May 25, 2022

@pablogsal, would it be okay to backport this to 3.11? (It already doesn't work on 3.11 currently.)

@pablogsal
Copy link
Member

@pablogsal pablogsal commented May 26, 2022

Yep, I'm ok backporting this 👍

@ericsnowcurrently ericsnowcurrently merged commit caa279d into python:main May 27, 2022
13 checks passed
@ericsnowcurrently ericsnowcurrently deleted the remove-experiment branch May 27, 2022
@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented May 27, 2022

Thanks @ericsnowcurrently for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒🤖

@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented May 27, 2022

Sorry, @ericsnowcurrently, I could not cleanly backport this to 3.11 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker caa279d6fd5f151e57f891cd4f6ba51b532501c6 3.11

ericsnowcurrently added a commit to ericsnowcurrently/cpython that referenced this issue May 28, 2022
…-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
miss-islington pushed a commit that referenced this issue May 28, 2022
… (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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants