Title: GH-139951: Fix major GC performance regression by markshannon · Pull Request #140262 · python/cpython · GitHub
Open Graph Title: GH-139951: Fix major GC performance regression by markshannon · Pull Request #140262 · python/cpython
X Title: GH-139951: Fix major GC performance regression by markshannon · Pull Request #140262 · python/cpython
Description: This PR: Counts number of actually tracked objects, instead of trackable objects. This ensures that untracking tuples has the desired effect of reducing GC overhead Does not track most untrackable tuples during creation. This prevents large numbers of small tuples causing excessive GCs. For the example in the original report this makes performance on main a bit better than 3.13. Benchmarking results show this is about neutral on performance otherwise. Issue: gh-139951
Open Graph Description: This PR: Counts number of actually tracked objects, instead of trackable objects. This ensures that untracking tuples has the desired effect of reducing GC overhead Does not track most untrackable...
X Description: This PR: Counts number of actually tracked objects, instead of trackable objects. This ensures that untracking tuples has the desired effect of reducing GC overhead Does not track most untrackable...
Opengraph URL: https://github.com/python/cpython/pull/140262
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:5b162d50-f60b-c40e-635e-91372c6d6c3f |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | E878:3A35C6:735096:9BE639:696AB118 |
| html-safe-nonce | 785164e0a8637c31c1ee7bb8f2a5ac1da4a8ef9037f118e06b4e46d3f20010c0 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODc4OjNBMzVDNjo3MzUwOTY6OUJFNjM5OjY5NkFCMTE4IiwidmlzaXRvcl9pZCI6IjI2NTA2NzEzODgxMjM5MDIyMzIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 0c9ecc23c9eec37530d4e76af15c4e0553dbe65ffb9083f8c8e2a729a574cb3c |
| hovercard-subject-tag | pull_request:2925082736 |
| 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/140262/checks |
| 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 | This PR: Counts number of actually tracked objects, instead of trackable objects. This ensures that untracking tuples has the desired effect of reducing GC overhead Does not track most untrackable... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4fa1799b6a53c2d30c950d74230781bef9e7f61138c72c7727e4b83f0743752b |
| turbo-cache-control | no-cache |
| 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 | 41f276818bd204c4a30a0281fb3c576298d9474c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width