René's URL Explorer Experiment


Title: src: refactor compression allocation tracking, enable for zstd by addaleax · Pull Request #61717 · nodejs/node · GitHub

Open Graph Title: src: refactor compression allocation tracking, enable for zstd by addaleax · Pull Request #61717 · nodejs/node

X Title: src: refactor compression allocation tracking, enable for zstd by addaleax · Pull Request #61717 · nodejs/node

Description: src: release memory for zstd contexts in Close() This aligns zstd streams with other compression libraries in this regard, and enables releasing memory early when the stream ends in JS instead of waiting for GC to clean up the wrapper object (which is a problem that is exacerbated in the zstd context because we do not track memory and report memory pressure to V8 yet). src: extract zlib allocation tracking into its own class This makes it a bit easier to separate concerns, and results in reduced code duplication when compiling since this code does not depend on template parameters. src: do not store compression methods on Brotli classes This addresses a long-standing TODO comment, referencing the fact that these values are either known at compile time or can be inferred from the this value in the context class. src: track allocations made by zstd streams This is both valuable as a diagnostic tool and as a way to inform the JS runtime about external allocations. Currently, this is a feature only enabled in the statically linked builds of zstd, so with --shared-zstd, we fall back to the non-tracking variant.

Open Graph Description: src: release memory for zstd contexts in Close() This aligns zstd streams with other compression libraries in this regard, and enables releasing memory early when the stream ends in JS instead of w...

X Description: src: release memory for zstd contexts in Close() This aligns zstd streams with other compression libraries in this regard, and enables releasing memory early when the stream ends in JS instead of w...

Opengraph URL: https://github.com/nodejs/node/pull/61717

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:25058dbe-61b2-b9db-34c1-bd4614ed1e08
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id9DB4:16E74E:4D515B9:66C6DDF:6A655A5D
html-safe-noncebc2423128b4629580f88219aeaeee42c1e0e5b5688e28955e5c47566bf151248
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5REI0OjE2RTc0RTo0RDUxNUI5OjY2QzZEREY6NkE2NTVBNUQiLCJ2aXNpdG9yX2lkIjoiNzY5MDUyNDY2NzY5NTk0NjMzMyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacfcfc62d2febc396784c74fcd77278430e1aa774917d854e31e14061c28aab92e
hovercard-subject-tagpull_request:3257699461
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/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
twitter:imagehttps://avatars.githubusercontent.com/u/899444?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/899444?s=400&v=4
og:image:altsrc: release memory for zstd contexts in Close() This aligns zstd streams with other compression libraries in this regard, and enables releasing memory early when the stream ends in JS instead of w...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F61717%2Fcommits%2F5110ea404674a9b32dcd18f949db11331121e923
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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%2Fnodejs%2Fnode%2Fpull%2F61717%2Fcommits%2F5110ea404674a9b32dcd18f949db11331121e923
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%2Fcommits&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Reloadhttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Reloadhttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
nodejs https://github.com/nodejs
nodehttps://github.com/nodejs/node
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Notifications https://github.com/login?return_to=%2Fnodejs%2Fnode
Fork 36.1k https://github.com/login?return_to=%2Fnodejs%2Fnode
Star 118k https://github.com/login?return_to=%2Fnodejs%2Fnode
Code https://github.com/nodejs/node
Issues 1.3k https://github.com/nodejs/node/issues
Pull requests 1.1k https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality 0 https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
Code https://github.com/nodejs/node
Issues https://github.com/nodejs/node/issues
Pull requests https://github.com/nodejs/node/pulls
Actions https://github.com/nodejs/node/actions
Projects https://github.com/nodejs/node/projects
Security and quality https://github.com/nodejs/node/security
Insights https://github.com/nodejs/node/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fnodejs%2Fnode%2Fissues%2Fnew%2Fchoose
addaleaxhttps://github.com/addaleax
nodejs:mainhttps://github.com/nodejs/node/tree/main
addaleax:zstd-allocation-trackinghttps://github.com/addaleax/node/tree/zstd-allocation-tracking
Conversation 10 https://github.com/nodejs/node/pull/61717
Commits 5 https://github.com/nodejs/node/pull/61717/commits
Checks 42 https://github.com/nodejs/node/pull/61717/checks
Files changed https://github.com/nodejs/node/pull/61717/files
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
src: refactor compression allocation tracking, enable for zstd https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#top
Show all changes 5 commits https://github.com/nodejs/node/pull/61717/files
f84e3c4 src: release memory for zstd contexts in `Close()` addaleax Feb 7, 2026 https://github.com/nodejs/node/pull/61717/commits/f84e3c4b5a535e89f27c85a10a15d1fcaa4e72cc
50b2338 src: extract zlib allocation tracking into its own class addaleax Feb 7, 2026 https://github.com/nodejs/node/pull/61717/commits/50b23389473c4e836cfb6951b7227aa9e04acd8d
ae69cf6 src: do not store compression methods on Brotli classes addaleax Feb 7, 2026 https://github.com/nodejs/node/pull/61717/commits/ae69cf687875884324c42e7c3a4cff6983b52d90
5110ea4 src: track allocations made by zstd streams addaleax Feb 7, 2026 https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
26450c0 fixup! src: track allocations made by zstd streams addaleax Feb 9, 2026 https://github.com/nodejs/node/pull/61717/commits/26450c0bdad63564fe3676c0ff9980a5eef5cc2d
Clear filters https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
node.gypi https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-b60508a2277e763eafb225908159eb97df683373da3dd018236923bef0d06892
node_zlib.cc https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
test-heapdump-zstd.js https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-159e3fb2c108eb2637a13e8e40a8ef5e575c7f643fbafc7f7ea03499fa240f2d
Prev https://github.com/nodejs/node/pull/61717/commits/ae69cf687875884324c42e7c3a4cff6983b52d90
Next https://github.com/nodejs/node/pull/61717/commits/26450c0bdad63564fe3676c0ff9980a5eef5cc2d
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
https://github.com/addaleax
addaleaxhttps://github.com/nodejs/node/commits?author=addaleax
node.gypihttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-b60508a2277e763eafb225908159eb97df683373da3dd018236923bef0d06892
View file https://github.com/addaleax/node/blob/5110ea404674a9b32dcd18f949db11331121e923/node.gypi
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nodejs/node/pull/61717/commits/{{ revealButtonHref }}
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-b60508a2277e763eafb225908159eb97df683373da3dd018236923bef0d06892
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-b60508a2277e763eafb225908159eb97df683373da3dd018236923bef0d06892
src/node_zlib.cchttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
View file https://github.com/addaleax/node/blob/5110ea404674a9b32dcd18f949db11331121e923/src/node_zlib.cc
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nodejs/node/pull/61717/commits/{{ revealButtonHref }}
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-55807528c167d8a7fc7f345ce23dc5c5e4d4e2635caaf21b90f6153044b4aa39
test/pummel/test-heapdump-zstd.jshttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923#diff-159e3fb2c108eb2637a13e8e40a8ef5e575c7f643fbafc7f7ea03499fa240f2d
View file https://github.com/addaleax/node/blob/5110ea404674a9b32dcd18f949db11331121e923/test/pummel/test-heapdump-zstd.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nodejs/node/pull/61717/commits/{{ revealButtonHref }}
Please reload this pagehttps://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923
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.