Title: gh-99113: A Per-Interpreter GIL! by ericsnowcurrently · Pull Request #99114 · python/cpython · GitHub
Open Graph Title: gh-99113: A Per-Interpreter GIL! by ericsnowcurrently · Pull Request #99114 · python/cpython
X Title: gh-99113: A Per-Interpreter GIL! by ericsnowcurrently · Pull Request #99114 · python/cpython
Description: I've split up this PR: gh-104203 gh-104204 gh-104205 gh-104206 gh-104208 gh-104210 That last one is effectively the superseder of this one. This is the culmination of PEP 684 (and of my 8-year long multi-core Python project)! Each subinterpreter may now be created with its own GIL (via Py_NewInterpreterFromConfig()). If not so configured then the interpreter will share with the main interpreter--the status quo since the subinterpreters were added decades ago. The main interpreter always has its own GIL and subinterpreters from Py_NewInterpreter() will always share with the main interpreter. This is essentially the correct implementation but it may change here and there before we've reached the end. We won't merge this until: PEP 684 is accepted (if it is accepted), which might be up to a few months due to the changing steering council interpreters have been sufficiently isolated (see my checklist) we have been extra careful about testing this I'm merging in other branches that this one relies on, but those will wash out as the other PRs get merged. In the meantime, you can see the actual changes here: https://github.com/python/cpython/compare/main...ericsnowcurrently:per-interpreter-gil-new-bare?expand=1. Issue: gh-99113
Open Graph Description: I've split up this PR: gh-104203 gh-104204 gh-104205 gh-104206 gh-104208 gh-104210 That last one is effectively the superseder of this one. This is the culmination of PEP 684 (and of my 8-y...
X Description: I've split up this PR: gh-104203 gh-104204 gh-104205 gh-104206 gh-104208 gh-104210 That last one is effectively the superseder of this one. This is the culmination of PEP 684 (and of my...
Opengraph URL: https://github.com/python/cpython/pull/99114
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:f3f82b06-3da5-f86f-2744-569f461efee3 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | CD4E:C622E:62597:840BB:6969CC8F |
| html-safe-nonce | 01306185493e52f82681550833c86b17e3ecbb26621aacfa65955eb3aed28085 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRDRFOkM2MjJFOjYyNTk3Ojg0MEJCOjY5NjlDQzhGIiwidmlzaXRvcl9pZCI6IjY3NTYzMTcxNjQ0MDMyOTM1OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 5630b79c76f889db136a2ec01c5bc857b1e43618d4077bf87b2545d512d75856 |
| hovercard-subject-tag | pull_request:1111419350 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python/cpython/pull/99114/checks |
| twitter:image | https://avatars.githubusercontent.com/u/1152074?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1152074?s=400&v=4 |
| og:image:alt | I've split up this PR: gh-104203 gh-104204 gh-104205 gh-104206 gh-104208 gh-104210 That last one is effectively the superseder of this one. This is the culmination of PEP 684 (and of my 8-y... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | acedec8b5f975d9e3d494ddd8f949b0b8a0de59d393901e26f73df9dcba80056 |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 83c08c21cdda978090dc44364b71aa5bc6dcea79 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width