GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-84694: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS by ericsnowcurrently · Pull Request #93185 · python/cpython

Conversation

@ericsnowcurrently

@ericsnowcurrently ericsnowcurrently commented May 24, 2022

Copy link
Copy Markdown
Member

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ericsnowcurrently added 2 commits May 24, 2022 14:34
@ericsnowcurrently
Drop the EXPERIMENTAL_ISOLATED_SUBINTERPRETERS macro.
0bab76a
@ericsnowcurrently
Drop configure --with-experimental-isolated-subinterpreters.
8a244ec
@ericsnowcurrently
ericsnowcurrently requested review from markshannon and pablogsal as code owners May 24, 2022 20:41
@bedevere-bot bedevere-bot added the awaiting core review label May 24, 2022
@vstinner

vstinner commented May 24, 2022

Copy link
Copy Markdown
Member

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

ericsnowcurrently reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

corona10
corona10 reviewed May 25, 2022
View reviewed changes

@corona10 corona10 left a comment •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ericsnowcurrently reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@kumaraditya303 kumaraditya303 mentioned this pull request May 25, 2022
[subinterpreters] Add --experimental-isolated-subinterpreters build option #84694
Closed
@kumaraditya303

kumaraditya303 commented May 25, 2022

Copy link
Copy Markdown
Contributor

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@markshannon

markshannon commented May 25, 2022

Copy link
Copy Markdown
Member

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ericsnowcurrently added 3 commits May 25, 2022 12:30
@ericsnowcurrently
Add a NEWS entry.
27c3605
@ericsnowcurrently
Add a whatsnew entry.
23e3ee3
@ericsnowcurrently
Regen configure.
612fc62
@ericsnowcurrently

ericsnowcurrently commented May 25, 2022

Copy link
Copy Markdown
Member Author

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

pablogsal and kumaraditya303 reacted with thumbs up emoji
All reactions
  • 👍 2 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal

pablogsal commented May 26, 2022

Copy link
Copy Markdown
Member

Yep, I'm ok backporting this 👍

ericsnowcurrently reacted with heart emoji
All reactions
  • ❤️ 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ericsnowcurrently
ericsnowcurrently merged commit caa279d into python:main May 27, 2022
@bedevere-bot bedevere-bot removed the awaiting core review label May 27, 2022
@ericsnowcurrently
ericsnowcurrently deleted the remove-experiment branch May 27, 2022 23:38
@ericsnowcurrently ericsnowcurrently added the needs backport to 3.11 only security fixes label May 27, 2022
@miss-islington

miss-islington commented May 27, 2022

Copy link
Copy Markdown
Contributor

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington

miss-islington commented May 27, 2022

Copy link
Copy Markdown
Contributor

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

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington miss-islington assigned ericsnowcurrently May 27, 2022
ericsnowcurrently added a commit to ericsnowcurrently/cpython that referenced this pull request May 28, 2022
@ericsnowcurrently
Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS (cherry-picked GH-pythongh…
f9a33b0
…-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 pull request May 28, 2022
@ericsnowcurrently
[3.11] bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS (gh-93185)…
3637425
… (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
This was referenced Jul 10, 2022
unicodeobject.c doesn't compile when defined EXPERIMENTAL_ISOLATED_SUBINTERPRETERS, variable "interned" not found #90988
Closed
PyThreadState_IsCurrent bug under building Python with --with-experimental-isolated-subinterpreters #88540
Closed
CAM-Gerlach added a commit to CAM-Gerlach/cpython that referenced this pull request Oct 16, 2022
@CAM-Gerlach @ericsnowcurrently
Add subinterpreters removal from issue pythongh-84694 PRs pythongh-93185
1790ddd
 / pythongh-93306

Co-authored-by: Eric Snow <[email protected]>
@CAM-Gerlach CAM-Gerlach mentioned this pull request Oct 16, 2022
gh-95913: Move subinterpreter exper removal to 3.11 WhatsNew #98345
Merged
miss-islington pushed a commit that referenced this pull request Oct 17, 2022
@CAM-Gerlach
gh-95913: Move subinterpreter exper removal to 3.11 WhatsNew (GH-98345)
5fe0431
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
@corona10 corona10 mentioned this pull request Oct 21, 2022
[Subinterpreters]: use static variable under building Python with --with-experimental-isolated-subinterpreters cause crash. #87754
Closed
@terryjreedy terryjreedy changed the title bpo-40514: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS gh-84694: Drop EXPERIMENTAL_ISOLATED_SUBINTERPRETERS Feb 18, 2025
@terryjreedy terryjreedy removed the needs backport to 3.11 only security fixes label Feb 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@corona10 corona10 corona10 left review comments
@pablogsal pablogsal Awaiting requested review from pablogsal pablogsal is a code owner
@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@ericsnowcurrently ericsnowcurrently

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

9 participants

@ericsnowcurrently @vstinner @kumaraditya303 @markshannon @pablogsal @miss-islington @corona10 @terryjreedy @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.