René's URL Explorer Experiment


Title: GH-88116: Use a compact format to represent end line and column offsets. by markshannon · Pull Request #91666 · python/cpython · GitHub

Open Graph Title: GH-88116: Use a compact format to represent end line and column offsets. by markshannon · Pull Request #91666 · python/cpython

X Title: GH-88116: Use a compact format to represent end line and column offsets. by markshannon · Pull Request #91666 · python/cpython

Description: Reduces the memory consumption for extended location information to less than half. Location information now takes ~3.5 bytes per instruction, instead of 8. (Note this is per instruction, not code unit). All the information is saved in one table, instead of three. #88116

Open Graph Description: Reduces the memory consumption for extended location information to less than half. Location information now takes ~3.5 bytes per instruction, instead of 8. (Note this is per instruction, not code ...

X Description: Reduces the memory consumption for extended location information to less than half. Location information now takes ~3.5 bytes per instruction, instead of 8. (Note this is per instruction, not code ...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:d6bcf698-fab9-24ff-2559-52ff19229d9b
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCBD4:2839F:A5976D:DD2891:696992DA
html-safe-noncebe40b9c741dc6da3a5cec431ec32cb0e79ccc9eb416cd440f59129ac1395ea52
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQkQ0OjI4MzlGOkE1OTc2RDpERDI4OTE6Njk2OTkyREEiLCJ2aXNpdG9yX2lkIjoiMzg5MjYyOTczMzczNTI0MDQxMCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac719d1085d29fe26f9ecf80eeebb86099b15304bebac18d9091f057159037d483
hovercard-subject-tagpull_request:912070212
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/91666/files
twitter:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/9448417?s=400&v=4
og:image:altReduces the memory consumption for extended location information to less than half. Location information now takes ~3.5 bytes per instruction, instead of 8. (Note this is per instruction, not code ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None3542e147982176a7ebaa23dfb559c8af16f721c03ec560c68c56b64a0f35e751
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
releaseaf80af7cc9e3de9c336f18b208a600950a3c187c
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/91666/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F91666%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
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
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
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/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%2F91666%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/91666/files
Reloadhttps://github.com/python/cpython/pull/91666/files
Reloadhttps://github.com/python/cpython/pull/91666/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/91666/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k 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.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/91666/files
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 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
markshannonhttps://github.com/markshannon
python:mainhttps://github.com/python/cpython/tree/main
faster-cpython:compact-debug-infohttps://github.com/faster-cpython/cpython/tree/compact-debug-info
Conversation 19 https://github.com/python/cpython/pull/91666
Commits 19 https://github.com/python/cpython/pull/91666/commits
Checks 0 https://github.com/python/cpython/pull/91666/checks
Files changed https://github.com/python/cpython/pull/91666/files
Please reload this pagehttps://github.com/python/cpython/pull/91666/files
GH-88116: Use a compact format to represent end line and column offsets. https://github.com/python/cpython/pull/91666/files#top
Show all changes 19 commits https://github.com/python/cpython/pull/91666/files
78cd7a3 Compact debug info. Work in progress. markshannon Apr 8, 2022 https://github.com/python/cpython/pull/91666/commits/78cd7a3160214134e72e7aa28d20166409e41de9
f603e3f Get compact debug table (almost) working. markshannon Apr 14, 2022 https://github.com/python/cpython/pull/91666/commits/f603e3f851ce9e2c6fc3bf48a45bb6e06fe8745b
34ec9d9 Remove column table from code objects. markshannon Apr 14, 2022 https://github.com/python/cpython/pull/91666/commits/34ec9d9fc3b3fadb4e750715fad8d10a69475de3
6f69354 Remove end-line table from code objects. markshannon Apr 14, 2022 https://github.com/python/cpython/pull/91666/commits/6f69354fc24aaee0e39a14aebcab51594a172ed7
b529306 Remove line table from code objects. markshannon Apr 14, 2022 https://github.com/python/cpython/pull/91666/commits/b52930676dbfecc1e2416b2c56f001272e1b6fe3
62228e0 Remove unused table generation code from compiler. markshannon Apr 14, 2022 https://github.com/python/cpython/pull/91666/commits/62228e0681da877dde1bd81225ab8ffdddf0763c
ab8cd4f Rename locationtable back to linetable to conform to PEP 626. markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/ab8cd4f33daeb9e72b5de28655f8bf5cb876fb7e
4e1584a Use enum values and fix gdb support. markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/4e1584ae034382c5c5df337388b2367481edab02
8ec48cf Merge branch 'main' into compact-debug-info markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/8ec48cf4458f7439d1c45a1ba16a7982d168e3d4
9783d10 Document location table format markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/9783d10abf2c57b83b995afedaa3c3c8d1355431
3020b15 Fix potential memory leak markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/3020b154d248fb04f60fa73df3921a2cd3bf361d
b25595b Restore old name for internal API. markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/b25595b4bab0db11a72e1ca721b46512e2672a0a
1a2b359 Re-run argument clinic markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/1a2b359df32db2f7188133661a2517959f6e6bad
70e139f Add NEWS item markshannon Apr 18, 2022 https://github.com/python/cpython/pull/91666/commits/70e139fa7cb693f52ead71c57907029b92ac444e
baf38d8 Remove unnecessary check markshannon Apr 19, 2022 https://github.com/python/cpython/pull/91666/commits/baf38d857fc2da54731ec0062b3bca7a36ad1b16
bcb3309 Remove a bit of code duplication. Insert bounds check when remove ext… markshannon Apr 19, 2022 https://github.com/python/cpython/pull/91666/commits/bcb3309f1e01d4a350fd8a1527db31b68de9f157
3299d06 Fix handling of missing endline in location info. markshannon Apr 19, 2022 https://github.com/python/cpython/pull/91666/commits/3299d06d34517f24a5c540c326770e07655b80de
6e0aef9 Fix remove_column_info (correctly this time) markshannon Apr 19, 2022 https://github.com/python/cpython/pull/91666/commits/6e0aef9f2a0c4486618b5b853e639136a2f7d5e8
b6b4321 Move some logic about location table layout to shared header. markshannon Apr 21, 2022 https://github.com/python/cpython/pull/91666/commits/b6b43211d281a8c33b257a432f5966c694f00d76
Clear filters https://github.com/python/cpython/pull/91666/files
Please reload this pagehttps://github.com/python/cpython/pull/91666/files
Please reload this pagehttps://github.com/python/cpython/pull/91666/files
code.h https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
pycore_code.h https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
_bootstrap_external.py https://github.com/python/cpython/pull/91666/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
test_code.py https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
test_compile.py https://github.com/python/cpython/pull/91666/files#diff-c69ceae0611c40012b4691e3536bf17efacdb5b51b8e155eec9a939108e42e43
test_dis.py https://github.com/python/cpython/pull/91666/files#diff-fd7b118a01a9695dfa16eea9381d3c7b0652e1b7b55f51ff052a1f620d175642
test_exceptions.py https://github.com/python/cpython/pull/91666/files#diff-3dbd58a46964dc5908595a1caa552fa3f5e2e46610679634ffc1064fd7cc3c8f
test_marshal.py https://github.com/python/cpython/pull/91666/files#diff-8201bccab835556960180c83492e252bf18bc045bc0dfacf9b290613a4d46269
test_traceback.py https://github.com/python/cpython/pull/91666/files#diff-8a52124ffceebd98f91bf96caa0f341ae109f79e190cd5acc1c56c8968d75252
2022-04-18-15-22-56.bpo-43950.qrTvWL.rst https://github.com/python/cpython/pull/91666/files#diff-29df54fe522a9aab0593d63bfcb9d1bc3ace11d13c10ed5f2a2f73a98fc05764
codeobject.c.h https://github.com/python/cpython/pull/91666/files#diff-e625a87deb129f82e7011cd3c5d9338f61f34089a5e61acf570e1c8b7f30dafd
codeobject.c https://github.com/python/cpython/pull/91666/files#diff-6f869eb8beb7cbe4bc6817584b99ad567f88962fa67f7beca25d009dc401234d
frameobject.c https://github.com/python/cpython/pull/91666/files#diff-7b8cef249e5cca077d30de4e428a6bde6b9b803464e790e9cffa7e052e19efdd
locations.md https://github.com/python/cpython/pull/91666/files#diff-b32eb47e8865635819323ef8ff1e7327922e9519a05bf00667120686052369d2
test_frozenmain.h https://github.com/python/cpython/pull/91666/files#diff-dcbbf153f77c69fb3a08746516bb9baaf46b9465c941221d1d495123e92cc862
compile.c https://github.com/python/cpython/pull/91666/files#diff-ebc983d9f91e5bcf73500e377ac65e85863c4f77fd5b6b6caf4fcdf7c0f0b057
marshal.c https://github.com/python/cpython/pull/91666/files#diff-46d545a32ea7176926cf1a963f25cdac2cf1c8098b3e020ccc77b63b2149d760
libpython.py https://github.com/python/cpython/pull/91666/files#diff-d6a780608c6679847e005fc5a55c5749ce3c68c031e75e63b0c5b45e57e25758
deepfreeze.py https://github.com/python/cpython/pull/91666/files#diff-861863f64855df222e1c58ea5231b9b672502b8b79e34aa1498a5f36994c05a9
umarshal.py https://github.com/python/cpython/pull/91666/files#diff-74a12924e15f26f21b0b90855eb1bfd26e2bb83ed5defc2fa21933032e620b90
Include/cpython/code.hhttps://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
View file https://github.com/faster-cpython/cpython/blob/b6b43211d281a8c33b257a432f5966c694f00d76/Include/cpython/code.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/91666/{{ revealButtonHref }}
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
https://github.com/python/cpython/pull/91666/files#diff-b0fcb97ad50c6f97009037466945581575bc3b18633dc8b32a38f633950144c2
Include/internal/pycore_code.hhttps://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
View file https://github.com/faster-cpython/cpython/blob/b6b43211d281a8c33b257a432f5966c694f00d76/Include/internal/pycore_code.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/91666/{{ revealButtonHref }}
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/pull/91666/files#diff-97ea1759f82531a45fa685065ff86bc1077c3ab3d5f65220eea48b7730032bc8
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L260
Lib/importlib/_bootstrap_external.pyhttps://github.com/python/cpython/pull/91666/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
View file https://github.com/faster-cpython/cpython/blob/b6b43211d281a8c33b257a432f5966c694f00d76/Lib/importlib/_bootstrap_external.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/91666/{{ revealButtonHref }}
https://github.com/python/cpython/pull/91666/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
https://github.com/python/cpython/pull/91666/files#diff-efefe383b3a81d16150c280db0b64eed7569254299418f64cc0d749f8e16f3a4
Lib/test/test_code.pyhttps://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
View file https://github.com/faster-cpython/cpython/blob/b6b43211d281a8c33b257a432f5966c694f00d76/Lib/test/test_code.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/91666/{{ revealButtonHref }}
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
https://github.com/python/cpython/pull/91666/files#diff-08d8a239ab9b84cf01875e28a6dae873628b56bfe94d30c3336c4a607d8036e5
Please reload this pagehttps://github.com/python/cpython/pull/91666/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.