René's URL Explorer Experiment


Title: GH-148937: fix for free-threaded GC (RSS based defer) by nascheme · Pull Request #148940 · python/cpython · GitHub

Open Graph Title: GH-148937: fix for free-threaded GC (RSS based defer) by nascheme · Pull Request #148940 · python/cpython

X Title: GH-148937: fix for free-threaded GC (RSS based defer) by nascheme · Pull Request #148940 · python/cpython

Description: Asking the OS for the process memory usage doesn't work well given how mimalloc works. It does not promptly return memory to the OS and so the memory doesn't drop after cyclic trash is freed. Instead of asking the OS, use mimalloc APIs to compute how much memory is being used by all mimalloc arenas. We need to stop-the-world to do this but usually we can avoid doing a collection. So, from a performance perspective, this is worth it. Tim Peters has a GC stress tester that quickly shows the issue, linked below. Before this fix, when I run this, the process RSS quickly goes up to 1 GB. After the fix, the RSS stays at about 100 MB. For comparision, the 3.13 GC keeps RSS at about 200 MB. tim-gc-test.py Benchmark results Issue: gh-148937

Open Graph Description: Asking the OS for the process memory usage doesn't work well given how mimalloc works. It does not promptly return memory to the OS and so the memory doesn't drop after cyclic trash is fre...

X Description: Asking the OS for the process memory usage doesn't work well given how mimalloc works. It does not promptly return memory to the OS and so the memory doesn't drop after cyclic tras...

Opengraph URL: https://github.com/python/cpython/pull/148940

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:bda6de85-5172-fe19-aad9-5fc02d4a6132
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE0F6:15E3B:1A486C8:23CB144:6A536986
html-safe-nonce7409021becee544c9ddaeb9be683397bfd1baa950f7ed509f94bdbf0f4c1104c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMEY2OjE1RTNCOjFBNDg2Qzg6MjNDQjE0NDo2QTUzNjk4NiIsInZpc2l0b3JfaWQiOiIyODM4NzIxNDc2MDE4MDA2NDA2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac3484bce71a862fbcb8dcdf910bb9c96a903e0cf6c3b2dc5ed3c49919c1573b9e
hovercard-subject-tagpull_request:3575888979
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/148940/files
twitter:imagehttps://avatars.githubusercontent.com/u/690853?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/690853?s=400&v=4
og:image:altAsking the OS for the process memory usage doesn't work well given how mimalloc works. It does not promptly return memory to the OS and so the memory doesn't drop after cyclic trash is fre...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/148940/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F148940%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F148940%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/148940/files
Reloadhttps://github.com/python/cpython/pull/148940/files
Reloadhttps://github.com/python/cpython/pull/148940/files
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 35k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 73.8k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.3k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality 0 https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security and quality https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
naschemehttps://github.com/nascheme
python:mainhttps://github.com/python/cpython/tree/main
nascheme:ft-gc-threshold-fix-mainhttps://github.com/nascheme/cpython/tree/ft-gc-threshold-fix-main
Conversation 16 https://github.com/python/cpython/pull/148940
Commits 8 https://github.com/python/cpython/pull/148940/commits
Checks 68 https://github.com/python/cpython/pull/148940/checks
Files changed https://github.com/python/cpython/pull/148940/files
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
GH-148937: fix for free-threaded GC (RSS based defer) https://github.com/python/cpython/pull/148940/files#top
Show all changes 8 commits https://github.com/python/cpython/pull/148940/files
ad5ed74 GH-148937: fix for free-threaded GC (RSS based defer) nascheme Apr 18, 2026 https://github.com/python/cpython/pull/148940/commits/ad5ed7425599aa5f48d2ce3296e6dc358d4e1d69
05d5050 Move gc_should_collect_mem_usage() call. nascheme Apr 24, 2026 https://github.com/python/cpython/pull/148940/commits/05d50506c42eb3349ca724700e2dabf827b9afb5
515e4c4 Add blurb. nascheme Apr 24, 2026 https://github.com/python/cpython/pull/148940/commits/515e4c4b73e05369dbe3d9371e81de1dbc853f69
7f654e1 Compute mimalloc memory usage based on full pages. nascheme Apr 29, 2026 https://github.com/python/cpython/pull/148940/commits/7f654e10f3e226678f8fdc1d986f0e42ebb1ca00
14b9696 Avoid warning of unused functions. nascheme Apr 30, 2026 https://github.com/python/cpython/pull/148940/commits/14b9696d31f7ae78a3ac1b9e33cbcc248d3be5d5
801737f Store full_page_bytes in mi_heap_t. nascheme May 2, 2026 https://github.com/python/cpython/pull/148940/commits/801737fd85a5fa919840fdcbdbb826fa5672b768
057f862 Use _mi_heap_main_get(). nascheme May 3, 2026 https://github.com/python/cpython/pull/148940/commits/057f8625f244420b707a09284fab52a938594e9c
847cba1 Merge remote-tracking branch 'origin/main' into ft-gc-threshold-fix-main nascheme May 3, 2026 https://github.com/python/cpython/pull/148940/commits/847cba1b6e09b398aa80399c0221135739dca295
Clear filters https://github.com/python/cpython/pull/148940/files
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
types.h https://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
pycore_gc.h https://github.com/python/cpython/pull/148940/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
pycore_interp_structs.h https://github.com/python/cpython/pull/148940/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
pycore_mimalloc.h https://github.com/python/cpython/pull/148940/files#diff-41289b2b94a05709c13180e124e751e604c391df63dc89d28e6a27b122a515f7
test_gc.py https://github.com/python/cpython/pull/148940/files#diff-9d9e863bd2a456b669ec9600be793699e861340d91d7c417a8a5b5b8cfbd09a7
2026-04-23-18-39-41.gh-issue-148937.yp--1l.rst https://github.com/python/cpython/pull/148940/files#diff-d76f3ceee7126c9f27013e7a9651bb48c86b64443278dc415ec79a286794c1ac
_testinternalcapi.c https://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
heap.c https://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
init.c https://github.com/python/cpython/pull/148940/files#diff-7123301368cc0b9e8b12f811455502a4051cf36aa8fd540173eace5a7dcd323b
page-queue.c https://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
page.c https://github.com/python/cpython/pull/148940/files#diff-77053287ca156d69f2c9e8f7ceaa69a3745c94cfe0318e95290ca716e77591b5
gc_free_threading.c https://github.com/python/cpython/pull/148940/files#diff-4722ae850a2da3e12f50815c0e3932627ebe67edeaa8b7f28a94f20c8698204d
Include/internal/mimalloc/mimalloc/types.hhttps://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Include/internal/mimalloc/mimalloc/types.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
colesburyhttps://github.com/colesbury
May 1, 2026https://github.com/python/cpython/pull/148940/files#r3175127444
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
naschemehttps://github.com/nascheme
May 3, 2026https://github.com/python/cpython/pull/148940/files#r3178407663
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
colesburyhttps://github.com/colesbury
May 4, 2026https://github.com/python/cpython/pull/148940/files#r3183077417
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
naschemehttps://github.com/nascheme
May 5, 2026https://github.com/python/cpython/pull/148940/files#r3187725720
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
https://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
https://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
https://github.com/python/cpython/pull/148940/files#diff-20f62ec529bf863b2cb3c71b6787b9f10de8ca76f882958099cc287755632c88
Include/internal/pycore_gc.hhttps://github.com/python/cpython/pull/148940/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Include/internal/pycore_gc.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
https://github.com/python/cpython/pull/148940/files#diff-0e64649e0124da22bbdd808a1902470f99752765073e6f1eb8bbd734ef1f4255
Include/internal/pycore_interp_structs.hhttps://github.com/python/cpython/pull/148940/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Include/internal/pycore_interp_structs.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
https://github.com/python/cpython/pull/148940/files#diff-6075b6142803c1eccc213aa150704fd639443c65311d5999f69a5ea77cb76756
Include/internal/pycore_mimalloc.hhttps://github.com/python/cpython/pull/148940/files#diff-41289b2b94a05709c13180e124e751e604c391df63dc89d28e6a27b122a515f7
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Include/internal/pycore_mimalloc.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-41289b2b94a05709c13180e124e751e604c391df63dc89d28e6a27b122a515f7
https://github.com/python/cpython/pull/148940/files#diff-41289b2b94a05709c13180e124e751e604c391df63dc89d28e6a27b122a515f7
Lib/test/test_gc.pyhttps://github.com/python/cpython/pull/148940/files#diff-9d9e863bd2a456b669ec9600be793699e861340d91d7c417a8a5b5b8cfbd09a7
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Lib/test/test_gc.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-9d9e863bd2a456b669ec9600be793699e861340d91d7c417a8a5b5b8cfbd09a7
https://github.com/python/cpython/pull/148940/files#diff-9d9e863bd2a456b669ec9600be793699e861340d91d7c417a8a5b5b8cfbd09a7
Misc/NEWS.d/next/Core_and_Builtins/2026-04-23-18-39-41.gh-issue-148937.yp--1l.rsthttps://github.com/python/cpython/pull/148940/files#diff-d76f3ceee7126c9f27013e7a9651bb48c86b64443278dc415ec79a286794c1ac
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Misc/NEWS.d/next/Core_and_Builtins/2026-04-23-18-39-41.gh-issue-148937.yp--1l.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
Modules/_testinternalcapi.chttps://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Modules/_testinternalcapi.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
https://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
https://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
https://github.com/python/cpython/pull/148940/files#diff-687f4a736f1f6ad4b6cd4ff65c8e0113408304e8d65530dbd41b3f59a081a126
Objects/mimalloc/heap.chttps://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Objects/mimalloc/heap.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
https://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
https://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
https://github.com/python/cpython/pull/148940/files#diff-ae0250dd9cdb3494b4cf82a71ded8e6d2248706633bf4cd57232cb1d462cc235
Objects/mimalloc/init.chttps://github.com/python/cpython/pull/148940/files#diff-7123301368cc0b9e8b12f811455502a4051cf36aa8fd540173eace5a7dcd323b
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Objects/mimalloc/init.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-7123301368cc0b9e8b12f811455502a4051cf36aa8fd540173eace5a7dcd323b
https://github.com/python/cpython/pull/148940/files#diff-7123301368cc0b9e8b12f811455502a4051cf36aa8fd540173eace5a7dcd323b
Objects/mimalloc/page-queue.chttps://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
View file https://github.com/python/cpython/blob/847cba1b6e09b398aa80399c0221135739dca295/Objects/mimalloc/page-queue.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/148940/{{ revealButtonHref }}
https://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
https://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
https://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
https://github.com/python/cpython/pull/148940/files#diff-3f18b82c8949cbce5924570f49abb228246e28f4fd9f7425ac417177ea63e761
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
Please reload this pagehttps://github.com/python/cpython/pull/148940/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.