async zstd 慢 23 倍之谜:Node 修复未声明输入大小的隐藏代价
AI Snake Oil · rss · 2026-09-28
Cloudflare 工程师 Cherry 在给站点静态资源做构建期 zstd 预压缩时发现,Node.js 的 zlib.zstdCompress()(异步版)比同步版 zstdCompressSync() 慢 3-5 倍。
根因:同步版一次性把整个输入交给 zstd,zstd 能推断输入大小;异步版分多次调用写入并结束帧,zstd 从不知道输入长度,只能按无界流来分配压缩表,导致高压缩级别下性能急剧恶化。
他提交的 PR (#66358) 将 pledgedSrcSize 默认设为输入的字节长度,修复后异步输出与同步版字节一致。实测(162 个生产构建文件,单个最大约 370KB,Linux x64):level 9 从 300ms 降到 113ms,level 12 从 4521ms 降到 194ms,level 19 从 9696ms 降到 1474ms;Windows 表现相同。
「Infra」频道最新
- 本地多卡装机热:8+1 布局让 vLLM 占满 2 的幂,余卡跑图视频 — TheZachMueller · 2026-09-28
- AI 电力悖论:数据中心耗电激增,AI 智能体反向优化电网 — ingliguori · 2026-09-28
- 超过2-4卡就没机箱可用:多GPU DIY的散热难题 — TheZachMueller · 2026-09-28
- 史上最大规模建设进行中:AI 数据中心正把智能变成制造业 — Dr_Singularity · 2026-09-28
- 曝 Anthropic 对 NVIDIA 合同承诺金额已超 1800 亿美元 — zephyr_z9 · 2026-09-28
- Friedberg:开源模型让 90% 的 AI 用途不再需要数据中心 — MarvinTBaumann · 2026-09-28