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
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/commits/:range(.:format) |
| route-controller | pull_requests |
| route-action | commits |
| fetch-nonce | v2:25058dbe-61b2-b9db-34c1-bd4614ed1e08 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 9DB4:16E74E:4D515B9:66C6DDF:6A655A5D |
| html-safe-nonce | bc2423128b4629580f88219aeaeee42c1e0e5b5688e28955e5c47566bf151248 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5REI0OjE2RTc0RTo0RDUxNUI5OjY2QzZEREY6NkE2NTVBNUQiLCJ2aXNpdG9yX2lkIjoiNzY5MDUyNDY2NzY5NTk0NjMzMyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | fcfc62d2febc396784c74fcd77278430e1aa774917d854e31e14061c28aab92e |
| hovercard-subject-tag | pull_request:3257699461 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/nodejs/node/pull/61717/commits/5110ea404674a9b32dcd18f949db11331121e923 |
| twitter:image | https://avatars.githubusercontent.com/u/899444?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/899444?s=400&v=4 |
| og:image:alt | 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... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 309153364422b3c499922d1a2a6404910a58ed8e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width