René's URL Explorer Experiment


Title: bpo-44337: Improve LOAD_ATTR specialization by markshannon · Pull Request #26759 · python/cpython · GitHub

Open Graph Title: bpo-44337: Improve LOAD_ATTR specialization by markshannon · Pull Request #26759 · python/cpython

X Title: bpo-44337: Improve LOAD_ATTR specialization by markshannon · Pull Request #26759 · python/cpython

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

Open Graph Description: We were being overly conservative by not specializing for instance attributes when the class also has an attribute. It is OK to perform that specialization if the class attribute is not an overridi...

X Description: We were being overly conservative by not specializing for instance attributes when the class also has an attribute. It is OK to perform that specialization if the class attribute is not an overridi...

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

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:31a1d3f0-ae36-dcf4-6d4f-9b4a9746651e
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC67E:2E1701:4D12CF:6D3142:6A5489AA
html-safe-nonce9f1b01f07a0820e904bcc9dfaa42b9eb38fa3c0e8505b7d2cb038617e84b1ab6
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNjdFOjJFMTcwMTo0RDEyQ0Y6NkQzMTQyOjZBNTQ4OUFBIiwidmlzaXRvcl9pZCI6IjUyMDU5ODI1MTMyNjk2MDY4MjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac54322b38c52f0accd67f9485bf16035045a542e13fe1f9ee5b84aa35383ed9c0
hovercard-subject-tagpull_request:671575353
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/26759/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/bb88c4e5965bc5d99320fe84b48f35d7caa5f900e6bf44703432c7b0949d5050/python/cpython/pull/26759
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/bb88c4e5965bc5d99320fe84b48f35d7caa5f900e6bf44703432c7b0949d5050/python/cpython/pull/26759
og:image:altWe were being overly conservative by not specializing for instance attributes when the class also has an attribute. It is OK to perform that specialization if the class attribute is not an overridi...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamemarkshannon
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
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
release03ccb116376fd46e8ba2a4cdc541e35f13f70734
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/26759#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F26759
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%2F26759
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/26759
Reloadhttps://github.com/python/cpython/pull/26759
Reloadhttps://github.com/python/cpython/pull/26759
Please reload this pagehttps://github.com/python/cpython/pull/26759
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/26759
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
markshannonhttps://github.com/markshannon
python:mainhttps://github.com/python/cpython/tree/main
faster-cpython:improve-load-attr-specializationhttps://github.com/faster-cpython/cpython/tree/improve-load-attr-specialization
Conversationhttps://github.com/python/cpython/pull/26759
Commits5 (5)https://github.com/python/cpython/pull/26759/commits
Checkshttps://github.com/python/cpython/pull/26759/checks
Files changedhttps://github.com/python/cpython/pull/26759/files
bpo-44337: Improve LOAD_ATTR specializationhttps://github.com/python/cpython/pull/26759#top
markshannonhttps://github.com/markshannon
python:mainhttps://github.com/python/cpython/tree/main
faster-cpython:improve-load-attr-specializationhttps://github.com/faster-cpython/cpython/tree/improve-load-attr-specialization
https://github.com/markshannon
markshannonhttps://github.com/markshannon
Jun 16, 2021https://github.com/python/cpython/pull/26759#issue-922735850
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://bugs.python.org/issue44337https://bugs.python.org/issue44337
Please reload this pagehttps://github.com/python/cpython/pull/26759
markshannonhttps://github.com/markshannon
June 16, 2021 12:14https://github.com/python/cpython/pull/26759#commits-pushed-d8e1017
https://github.com/markshannon
Improve LOAD_ATTR specializationhttps://github.com/python/cpython/pull/26759/commits/d8e101775e3a0b4713d53b9cfa7491450b7766fa
d8e1017https://github.com/python/cpython/pull/26759/commits/d8e101775e3a0b4713d53b9cfa7491450b7766fa
https://github.com/markshannon
Add stat for how many times the unquickened instruction has executed.https://github.com/python/cpython/pull/26759/commits/65524d103fc432b0abedcf4d2b45fcd62beb8f2f
65524d1https://github.com/python/cpython/pull/26759/commits/65524d103fc432b0abedcf4d2b45fcd62beb8f2f
https://github.com/markshannon
Turn stats off by defaulthttps://github.com/python/cpython/pull/26759/commits/d5e7d20ed7da5218f37dc780deff16fa10002772
d5e7d20https://github.com/python/cpython/pull/26759/commits/d5e7d20ed7da5218f37dc780deff16fa10002772
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
Jun 16, 2021https://github.com/python/cpython/pull/26759#event-4898588488
https://github.com/bedevere-bot
bedevere-bothttps://github.com/bedevere-bot
awaiting core review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20core%20review%22
Jun 16, 2021https://github.com/python/cpython/pull/26759#event-4898588616
https://github.com/markshannon
markshannonhttps://github.com/markshannon
DO-NOT-MERGE https://github.com/python/cpython/issues?q=state%3Aopen%20label%3ADO-NOT-MERGE
skip news https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22skip%20news%22
awaiting core review https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22awaiting%20core%20review%22
Jun 16, 2021https://github.com/python/cpython/pull/26759#event-4898589911
https://github.com/markshannon
Remove unused struct and enumhttps://github.com/python/cpython/pull/26759/commits/3c0b4094d1078d6272a371be2ba8c268d9c35123
3c0b409https://github.com/python/cpython/pull/26759/commits/3c0b4094d1078d6272a371be2ba8c268d9c35123
https://github.com/markshannon
markshannonhttps://github.com/markshannon
Jun 17, 2021https://github.com/python/cpython/pull/26759#issuecomment-863105393
https://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fbhttps://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fb
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/markshannon
markshannonhttps://github.com/markshannon
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
June 17, 2021 11:28https://github.com/python/cpython/pull/26759#event-4903637496
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Jun 17, 2021 https://github.com/python/cpython/pull/26759#pullrequestreview-686567464
View reviewed changes https://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/python/cpython/pull/26759#pullrequestreview-686567464
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
should we also identify descriptors for type objectshttps://github.com/python/cpython/pull/26759#discussion_r653786053
move analyze_descriptor() to typeobject.chttps://github.com/python/cpython/pull/26759#discussion_r653800386
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Jun 17, 2021https://github.com/python/cpython/pull/26759#issuecomment-863470822
https://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fbhttps://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fb
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/markshannon
markshannonhttps://github.com/markshannon
Jun 18, 2021https://github.com/python/cpython/pull/26759#issuecomment-863917124
https://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fbhttps://gist.github.com/markshannon/f938b10691f081b3a6cdad54521890fb
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/ericsnowcurrently
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
Jun 18, 2021 https://github.com/python/cpython/pull/26759#pullrequestreview-687591693
View reviewed changes https://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123
ericsnowcurrentlyhttps://github.com/ericsnowcurrently
https://github.com/python/cpython/pull/26759#pullrequestreview-687591693
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/26759
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
Jun 18, 2021https://github.com/python/cpython/pull/26759#event-4910801897
https://github.com/bluss
blusshttps://github.com/bluss
Jun 18, 2021 https://github.com/python/cpython/pull/26759#pullrequestreview-687634411
View reviewed changes https://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123
Python/specialize.chttps://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123#diff-22e653d878778ca28317261f7826545288d02fd9980cf485d0329f28a34993f2
blusshttps://github.com/bluss
Jun 18, 2021https://github.com/python/cpython/pull/26759#discussion_r654602590
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/markshannon
Don't use reserved identifier.https://github.com/python/cpython/pull/26759/commits/5d9eb10bbb1d57c0f764cb82f688e3710f332c47
5d9eb10https://github.com/python/cpython/pull/26759/commits/5d9eb10bbb1d57c0f764cb82f688e3710f332c47
https://github.com/markshannon
markshannonhttps://github.com/markshannon
Jun 21, 2021https://github.com/python/cpython/pull/26759#event-4915890853
https://github.com/markshannon
markshannonhttps://github.com/markshannon
Jun 21, 2021https://github.com/python/cpython/pull/26759#event-4915891075
https://github.com/markshannon
markshannonhttps://github.com/markshannon
fb68791https://github.com/python/cpython/commit/fb68791a26e157ed3cdeb409c8d8b6cddc7535bd
Jun 21, 2021https://github.com/python/cpython/pull/26759#event-4916061582
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
Jun 21, 2021https://github.com/python/cpython/pull/26759#event-4916061715
https://github.com/markshannon
markshannonhttps://github.com/markshannon
January 6, 2022 15:27https://github.com/python/cpython/pull/26759#event-5852893125
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%2F26759
https://github.com/ericsnowcurrently
ericsnowcurrently https://github.com/ericsnowcurrently
https://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123
https://github.com/bluss
bluss https://github.com/bluss
https://github.com/python/cpython/pull/26759/files/3c0b4094d1078d6272a371be2ba8c268d9c35123
DO-NOT-MERGE https://github.com/python/cpython/issues?q=state%3Aopen%20label%3ADO-NOT-MERGE
skip news https://github.com/python/cpython/issues?q=state%3Aopen%20label%3A%22skip%20news%22
Please reload this pagehttps://github.com/python/cpython/pull/26759
https://github.com/markshannon
https://github.com/ericsnowcurrently
https://github.com/bluss
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.