René's URL Explorer Experiment


Title: bpo-32346: speed up slot lookup during class creation by pitrou · Pull Request #4902 · python/cpython · GitHub

Open Graph Title: bpo-32346: speed up slot lookup during class creation by pitrou · Pull Request #4902 · python/cpython

X Title: bpo-32346: speed up slot lookup during class creation by pitrou · Pull Request #4902 · python/cpython

Description: The Python programming language. Contribute to python/cpython development by creating an account on GitHub.

Open Graph Description: Instead of looking up every possible slot in every class along the MRO (generating possibly hundreds of dict lookups), cache the known descriptors of each type so that finding them again is simply ...

X Description: Instead of looking up every possible slot in every class along the MRO (generating possibly hundreds of dict lookups), cache the known descriptors of each type so that finding them again is simply ...

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

X: @github

direct link

Domain: github.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:045b97c9-a5b4-f590-5988-9872fb9449bb
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idE33C:21E1C8:145E57F:1B35D69:6A595921
html-safe-noncecfa76055c80c0ee97ee1cef0cfb7ce47a2396e4463cead9b91b03b3fe914284b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMzNDOjIxRTFDODoxNDVFNTdGOjFCMzVENjk6NkE1OTU5MjEiLCJ2aXNpdG9yX2lkIjoiNTg3NTgwMjY1NTAzMjE3OTUzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacbc67b2264e42c0730801e90de20ee700f05c041ac145c618d64c47156dab0d54
hovercard-subject-tagpull_request:158742591
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///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/python/cpython/4902/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/8e3450cf5273f436c4d51885e52621e3cc4ecb74eaa801b5679f6283245d3692/python/cpython/pull/4902
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/8e3450cf5273f436c4d51885e52621e3cc4ecb74eaa801b5679f6283245d3692/python/cpython/pull/4902
og:image:altInstead of looking up every possible slot in every class along the MRO (generating possibly hundreds of dict lookups), cache the known descriptors of each type so that finding them again is simply ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamepitrou
hostnamegithub.com
expected-hostnamegithub.com
Nonea540949572872b935b393b36db38922db390ae71c859537d741b8f3eb7e545b5
turbo-cache-controlno-cache
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
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef4669eb12cd81bf213b8907a42667725d1583c79
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/4902#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F4902
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%2F4902
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%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/4902
Reloadhttps://github.com/python/cpython/pull/4902
Reloadhttps://github.com/python/cpython/pull/4902
Please reload this pagehttps://github.com/python/cpython/pull/4902
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/4902
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 34.9k 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
pitrouhttps://github.com/pitrou
python:masterhttps://github.com/python/cpython/tree/master
pitrou:speedup_type_creationhttps://github.com/pitrou/cpython/tree/speedup_type_creation
Conversationhttps://github.com/python/cpython/pull/4902
Commits9 (9)https://github.com/python/cpython/pull/4902/commits
Checkshttps://github.com/python/cpython/pull/4902/checks
Files changedhttps://github.com/python/cpython/pull/4902/files
bpo-32346: speed up slot lookup during class creationhttps://github.com/python/cpython/pull/4902#top
pitrouhttps://github.com/pitrou
python:masterhttps://github.com/python/cpython/tree/master
pitrou:speedup_type_creationhttps://github.com/pitrou/cpython/tree/speedup_type_creation
https://github.com/pitrou
pitrouhttps://github.com/pitrou
Dec 16, 2017https://github.com/python/cpython/pull/4902#issue-282620301
Please reload this pagehttps://github.com/python/cpython/pull/4902
https://bugs.python.org/issue32346https://bugs.python.org/issue32346
Please reload this pagehttps://github.com/python/cpython/pull/4902
https://github.com/pitrou
bpo-32346: speed up slot lookup during class creationhttps://github.com/python/cpython/pull/4902/commits/4b2e41c14789378ca2c02a46d579641dd8423a37
4b2e41chttps://github.com/python/cpython/pull/4902/commits/4b2e41c14789378ca2c02a46d579641dd8423a37
https://github.com/the-knights-who-say-ni
the-knights-who-say-nihttps://github.com/the-knights-who-say-ni
CLA signed https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22CLA%20signed%22
Dec 16, 2017https://github.com/python/cpython/pull/4902#event-1390726763
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
awaiting merge https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20merge%22
Dec 16, 2017https://github.com/python/cpython/pull/4902#event-1390726764
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
December 16, 2017 13:31https://github.com/python/cpython/pull/4902#event-1390743805
pitrouhttps://github.com/pitrou
December 19, 2017 21:27https://github.com/python/cpython/pull/4902#commits-pushed-57df85d
https://github.com/pitrou
Merge branch 'master' ofhttps://github.com/python/cpython/pull/4902/commits/57df85d0d85dcedc2947746950e27cd790f4776a
https://github.com/python/cpythonhttps://github.com/python/cpython
into speed…https://github.com/python/cpython/pull/4902/commits/57df85d0d85dcedc2947746950e27cd790f4776a
57df85dhttps://github.com/python/cpython/pull/4902/commits/57df85d0d85dcedc2947746950e27cd790f4776a
https://github.com/pitrou
Also speed up add_operators()https://github.com/python/cpython/pull/4902/commits/d7f6b4d6841bf731ae6e05b934304334654ba982
d7f6b4dhttps://github.com/python/cpython/pull/4902/commits/d7f6b4d6841bf731ae6e05b934304334654ba982
https://github.com/pitrou
Add NEWS blurbhttps://github.com/python/cpython/pull/4902/commits/1702e22a03c201472b8abba12e4f711222f9c305
1702e22https://github.com/python/cpython/pull/4902/commits/1702e22a03c201472b8abba12e4f711222f9c305
https://github.com/pitrou
Merge branch 'master' into speedup_type_creationhttps://github.com/python/cpython/pull/4902/commits/ab17d15c26cdfffa6268c7a93609338d80c6f8d2
ab17d15https://github.com/python/cpython/pull/4902/commits/ab17d15c26cdfffa6268c7a93609338d80c6f8d2
https://github.com/pitrou
Merge branch 'master' into speedup_type_creationhttps://github.com/python/cpython/pull/4902/commits/89963ea72d97d6fe0a75fc8d8c26fbe436c76437
89963eahttps://github.com/python/cpython/pull/4902/commits/89963ea72d97d6fe0a75fc8d8c26fbe436c76437
https://github.com/pitrou
pitrouhttps://github.com/pitrou
Jan 2, 2018https://github.com/python/cpython/pull/4902#issuecomment-354765314
@serhiy-storchakahttps://github.com/serhiy-storchaka
Please reload this pagehttps://github.com/python/cpython/pull/4902
https://github.com/serhiy-storchaka
serhiy-storchakahttps://github.com/serhiy-storchaka
Jan 2, 2018https://github.com/python/cpython/pull/4902#issuecomment-354798371
Please reload this pagehttps://github.com/python/cpython/pull/4902
pitrouhttps://github.com/pitrou
January 2, 2018 19:35https://github.com/python/cpython/pull/4902#commits-pushed-c39d280
https://github.com/pitrou
Merge branch 'master' into speedup_type_creationhttps://github.com/python/cpython/pull/4902/commits/c39d280faeae9734544e4e93a975c0cf2faa038b
c39d280https://github.com/python/cpython/pull/4902/commits/c39d280faeae9734544e4e93a975c0cf2faa038b
https://github.com/pitrou
Merge branch 'master' into speedup_type_creationhttps://github.com/python/cpython/pull/4902/commits/9026dccd989c1e7af28e257fc85d5ba11fc3baa2
9026dcchttps://github.com/python/cpython/pull/4902/commits/9026dccd989c1e7af28e257fc85d5ba11fc3baa2
https://github.com/pitrou
pitrouhttps://github.com/pitrou
1st1https://github.com/1st1
code ownerhttps://github.com/python/cpython/blob/78e24d4415c37e9e9951920bc31e9ee4868d86cb/.github/CODEOWNERS#L11
January 4, 2018 13:38https://github.com/python/cpython/pull/4902#event-1409550917
https://github.com/pitrou
Reuse tp_cache for tp_defined_slotshttps://github.com/python/cpython/pull/4902/commits/694e1b062a95e4b5ad440343fb67e948e02a4c05
694e1b0https://github.com/python/cpython/pull/4902/commits/694e1b062a95e4b5ad440343fb67e948e02a4c05
https://github.com/pitrou
pitrouhttps://github.com/pitrou
force-pushedhttps://github.com/python/cpython/compare/6298f68d9ed543892fb712d51e8d5126bd381809..694e1b062a95e4b5ad440343fb67e948e02a4c05
6298f68https://github.com/python/cpython/commit/6298f68d9ed543892fb712d51e8d5126bd381809
694e1b0https://github.com/python/cpython/commit/694e1b062a95e4b5ad440343fb67e948e02a4c05
Compare https://github.com/python/cpython/compare/6298f68d9ed543892fb712d51e8d5126bd381809..694e1b062a95e4b5ad440343fb67e948e02a4c05
January 4, 2018 13:44https://github.com/python/cpython/pull/4902#event-1409559930
https://github.com/pitrou
pitrouhttps://github.com/pitrou
Jan 15, 2018https://github.com/python/cpython/pull/4902#issuecomment-357759233
https://bugs.python.org/issue32346https://bugs.python.org/issue32346
Please reload this pagehttps://github.com/python/cpython/pull/4902
https://github.com/pitrou
pitrouhttps://github.com/pitrou
Jan 15, 2018https://github.com/python/cpython/pull/4902#event-1424862193
https://github.com/pitrou
pitrouhttps://github.com/pitrou
January 15, 2018 18:35https://github.com/python/cpython/pull/4902#event-1424862262
https://github.co/hiddenchars
https://github.com/python/cpython/pull/{{ revealButtonHref }}
Sign up for freehttps://github.com/join?source=comment-repo
Sign in to commenthttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F4902
https://github.com/serhiy-storchaka
serhiy-storchaka https://github.com/serhiy-storchaka
https://github.com/1st1
1st1 https://github.com/1st1
awaiting merge https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20merge%22
Please reload this pagehttps://github.com/python/cpython/pull/4902
https://github.com/pitrou
https://github.com/serhiy-storchaka
https://github.com/the-knights-who-say-ni
https://github.com/bedevere-bot
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.