Title: GH-117108: Change the size of the GC increment to about 1% of the total heap size. by markshannon · Pull Request #117120 · python/cpython · GitHub
Open Graph Title: GH-117108: Change the size of the GC increment to about 1% of the total heap size. by markshannon · Pull Request #117120 · python/cpython
X Title: GH-117108: Change the size of the GC increment to about 1% of the total heap size. by markshannon · Pull Request #117120 · python/cpython
Description: The previous design of choosing increments based on the number of survivors doesn't work. In order to handle the case of code that produces nothing but cycles, the rate of collection needs to be so high that the case of code that produces no cycles is slowed down hugely. Fortunately, the fix is quite simple: base the size of the increment on the size of the heap. Essentially we perform a whole-heap collection at the same rate as the traditional cycle collection, but in increments. In the old collector, the thresholds were set so that a full heap collection was done every 100 young collections. We now do a 1% increment with every young collection. Issue: gh-117108
Open Graph Description: The previous design of choosing increments based on the number of survivors doesn't work. In order to handle the case of code that produces nothing but cycles, the rate of collection needs to b...
X Description: The previous design of choosing increments based on the number of survivors doesn't work. In order to handle the case of code that produces nothing but cycles, the rate of collection needs ...
Opengraph URL: https://github.com/python/cpython/pull/117120
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:db6f914a-f9b2-07f4-c173-37071b8498e3 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A6E2:30E6E5:B9DB05:FE4220:696A8C62 |
| html-safe-nonce | 79180f813a0bf7df714ecfe3b98be20a04f8552439cbe04b90651f91c6e828d7 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNkUyOjMwRTZFNTpCOURCMDU6RkU0MjIwOjY5NkE4QzYyIiwidmlzaXRvcl9pZCI6IjYyMjUzMzc3MDMyNTU5MzYwOTgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 1a690a139b91e1ac54b4278ab5714e97840739ddf50f5efa711ed9ee8fb3883a |
| hovercard-subject-tag | pull_request:1784422706 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,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/117120/files |
| twitter:image | https://avatars.githubusercontent.com/u/9448417?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/9448417?s=400&v=4 |
| og:image:alt | The previous design of choosing increments based on the number of survivors doesn't work. In order to handle the case of code that produces nothing but cycles, the rate of collection needs to b... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | d2aa6dedd7d97fa651b17c40401f2605f309df5ca5fb659bf0554cf34f1de825 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| 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 |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | c1dbca8981c5e3d6a69bce2f1d289e732b86241d |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width