Skip to content

Clarification on what is needed for advancement toward per-interpreter GIL. #103

Description

@ericsnowcurrently

(FYI, I've spoken with @brettcannon about all this previously.)

I've been looking over what needs to be done to get to per-interpreter GIL, as well as concerns folks have brought up about the project. There's a chance things could move along fast enough to reach per-interpreter GIL in time for 3.11b1, so I want to see what the steering council thinks needs approval first (i.e. a PEP).

Some things to note:

  • the discrete, mostly parallel, steps to get there are pretty well-understood
  • none are very big
  • there are just a lot of them
  • nearly all are worth doing regardless of per-interpreter GIL
  • few are controversial on their own that I'm aware of
  • none will break backward compatibility
  • none will touch the public C-API (outside what is covered in existing PEPs)

So it isn't so clear to me what value another PEP provides. Aside from existing PEPs, I could imagine possibly the following, but I'm not sure any of them provide much value.

  • immortal objects
  • making the GIL per-interpreter (we'll likely do nearly everything else necessary for that, so the actual change involved would be a few lines of code. Would a decision be necessary for that?)
  • (informational) about the impact of per-interpreter GIL (the change in behavior and the impact on extension modules)

FYI, I started python/peps#2212 as a sort of dump of the whole thing, but it covered too much. Would it make more sense to add a page to the devguide about the project instead of a PEP?

Anyway, I figured I'd get your feedback sooner rather than later. 🙂

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions