Title: Clear per-thread free-list concurrently from GC · Issue #114016 · python/cpython · GitHub
Open Graph Title: Clear per-thread free-list concurrently from GC · Issue #114016 · python/cpython
X Title: Clear per-thread free-list concurrently from GC · Issue #114016 · python/cpython
Description: From #111968, we now manage free lists as per-thread resources. But the overhead of this implementation is that gc should traverse the resources of all threads that belong to the interpreter. Since the clearing multiple per thread resour...
Open Graph Description: From #111968, we now manage free lists as per-thread resources. But the overhead of this implementation is that gc should traverse the resources of all threads that belong to the interpreter. Since...
X Description: From #111968, we now manage free lists as per-thread resources. But the overhead of this implementation is that gc should traverse the resources of all threads that belong to the interpreter. Since...
Opengraph URL: https://github.com/python/cpython/issues/114016
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Clear per-thread free-list concurrently from GC","articleBody":"From https://github.com/python/cpython/issues/111968, we now manage free lists as per-thread resources.\r\nBut the overhead of this implementation is that gc should traverse the resources of all threads that belong to the interpreter.\r\n\r\nSince the clearing multiple per thread resources can be split by multiple thread tasks, it will be beneficial to reduce GC time.\r\n\r\nref: https://github.com/python/cpython/pull/113584#discussion_r1438822073\r\nsource code:\r\nhttps://github.com/python/cpython/blob/dac1da21218a406652b35919aa2118cc32d4c65a/Python/gc_free_threading.c#L21-L27\r\n\r\ncc @colesbury \r\n\r\n\r\n\r\n","author":{"url":"https://github.com/corona10","@type":"Person","name":"corona10"},"datePublished":"2024-01-13T07:30:43.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/114016/cpython/issues/114016"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:cda58a27-66fb-b37c-0c83-015d92d03e65 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C73A:347BE:1B3704:247FF1:6A57F7C0 |
| html-safe-nonce | 45bb253e41540d36c9b2c62cc1011eb6b6974135ab13c30b94e288182a66a703 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNzNBOjM0N0JFOjFCMzcwNDoyNDdGRjE6NkE1N0Y3QzAiLCJ2aXNpdG9yX2lkIjoiMjM3MTIwMzgzMDc3NTc4Njg4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 85040a8707508d9b2eb24f1f2f7ecb7040b2cb38f77f6038c3b3b6191617ea4a |
| hovercard-subject-tag | issue:2080154000 |
| github-keyboard-shortcuts | repository,issues,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/_view_fragments/issues/show/python/cpython/114016/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7437f47267de4d297902591e10e6ee1ec584a6ae25338c23a1a88e9e3f0f7c42/python/cpython/issues/114016 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7437f47267de4d297902591e10e6ee1ec584a6ae25338c23a1a88e9e3f0f7c42/python/cpython/issues/114016 |
| og:image:alt | From #111968, we now manage free lists as per-thread resources. But the overhead of this implementation is that gc should traverse the resources of all threads that belong to the interpreter. Since... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | corona10 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 49c8c15fabcbf356d607a90ca115c13b273e42ff8b74155de050fd229a9b0121 |
| 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 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3fb1f684e7a833eb1b2d01d39875a2b52cb4fe9b |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width