Tracking issue for official Node.js build with pointer compression enabled
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- node.js
- Lĩnh vực
- build-system, infrastructure, release
Hướng nghiên cứu
Không có tệp mã nguồn hoặc bài kiểm thử nào được nêu. Hãy bắt đầu bằng việc đọc build issue trước đó #3204 và Node.js PR #60254, sau đó so sánh bản build node-caged hiện có cùng các benchmark của nó. Công việc được xem là hoàn tất khi có một quy trình được xác định và thống nhất để tạo và duy trì một bản build chính thức có nén con trỏ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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?
- Ngôn ngữ chính
- Jinja
- Star
- 541
- Fork
- 185
- Merge trung bình
- 2 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 6
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nodejs/build
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
platform:ppc
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
incident platform:arm
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Issue tương tự
-
core dependencies
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
-
bug github_actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
registrystack/registry-stack#1393 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Name consistency Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eellak/triplestore#65 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100