Tracking issue for official Node.js build with pointer compression enabled
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 冷清
- 技术栈
- node.js
调研方向
未指定源文件或测试。首先阅读之前的构建 issue #3204 和 Node.js PR #60254,然后比较现有的 node-caged 构建及其基准测试。只有在确定并达成一致、能够生成和维护官方指针压缩构建的路径后,才算完成。
由索引模型根据 Issue 内容生成。
描述
Official Node.js build with pointer compression enabled
Summary
This is a fresh tracking issue to try to give pointer compression (PC) for an officially shipped Node.js build some renewed traction, as the previous tracking issue was closed by @cjihrig with "If anyone needs this issue, please open a new one." This is that new issue.
I am not familiar with the internal build/release machinery, so I cannot judge exactly what needs to happen here. I am opening this mainly because the topic seems to have stalled, while there is now concrete evidence it works, and I would like to see if it can move forward again.
It picks up two now-inactive threads:
- https://github.com/nodejs/build/issues/3204 ("Path to adding a Tier 2 build with pointer compression enabled") - closed 2024-09-25 by @cjihrig with "If anyone needs this issue, please open a new one."
- https://github.com/nodejs/node/issues/55735 ("Pointer Compression and Isolate Groups") - auto-closed 2026-04-26 as stale.
Since those threads went quiet, the key technical blocker has moved forward: IsolateGroups landed (https://github.com/nodejs/node/pull/60254, merged 2025-10-17). That removes the historic "process-wide 4 GB cage" objection by giving each isolate group its own pointer cage. With that in place, the conversation about an official build seems worth reopening.
Why now
- The memory upside of pointer compression is well documented (https://v8.dev/blog/pointer-compression).
- IsolateGroups (https://github.com/nodejs/node/pull/60254) mean a PC build no longer caps the whole process at 4 GB. Each worker thread can run in its own 4 GB cage.
- A working, benchmarked PC build already exists in the wild. Platformatic shipped
node-caged(https://github.com/platformatic/node-caged), pre-built multi-arch (amd64/arm64) Docker images for Node.js 25 and 26 with pointer compression + IsolateGroups enabled, with published end-to-end benchmarks: https://blog.platformatic.dev/we-cut-nodejs-memory-in-half. This shows a PC build on current Node.js is viable today and delivers a large, measurable benefit.
Concrete real-world demand: memory-constrained / embedded Linux
We run Node.js on memory-constrained embedded Linux hardware (arm64), where the V8 heap footprint is a hard limiting factor. RAM is fixed and not expandable, so every byte the runtime saves is headroom we can give back to the application. Cutting the heap roughly in half (as the Platformatic numbers show) directly translates into running more, or larger, workloads on the same device, and into fewer out-of-memory failures.
For this class of deployment the typical objection ("just buy more memory") does not apply, and the 4 GB-per-isolate cap is a non-issue. This is the kind of workload that benefits most from an official, maintained PC build, rather than each vendor maintaining their own breakage-prone fork.
Open question
Given that IsolateGroups have landed and a working, benchmarked PC build now exists, what would it actually take to get an official Node.js PC build moving again, and how can we give this effort some traction?
- 主要语言
- Jinja
- 星标
- 541
- 派生
- 185
- 平均合并
- 2 天 18 小时
- 30 天内合并 PR
- 6
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nodejs/build 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
platform:ppc
难度 1/5 1 小时以内 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 72/100
-
incident platform:arm
难度 4/5 3-5 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 45/100
相似的 Issue
-
core dependencies
难度 1/5 1 小时以内 新手友好度 80/100
-
bug github_actions
难度 2/5 1-3 小时 新手友好度 75/100
registrystack/registry-stack#1393 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
Name consistency 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
eellak/triplestore#65 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 65/100