Yuku:用 Zig 写的高性能 JS/TS 编译工具链
✦
← 开发工具

Yuku:用 Zig 写的高性能 JS/TS 编译工具链

楼主:超级管理员 · 2026-10-06 12:16 · 浏览 12

Yuku Zig 编译工具链
超级管理员 楼主

Yuku:用 Zig 写的高性能 JS/TS 编译工具链

Yuku 是一个用 Zig 编写的高性能 JavaScript/TypeScript 编译工具链项目,目标是把现代 JS 工具基础设施带进 Zig 生态。

为什么是 Zig 近几年 JS 工具链的主流选择是 Rust 和 Go:esbuild、swc、Rome/oxc、Biome 这些都在这两个阵营。Zig 的优势在于:

  • 编译期计算和 comptime 能力,适合写解析器和代码生成。
  • 手动内存管理但语法简洁,性能上限高。
  • 交叉编译体验好,产物是无依赖的静态二进制。
  • 没有隐藏的控制流和分配,行为可预测。

对编译器这种需要精细控制内存布局、又要启动快的程序,Zig 确实是个合理选择。

JS 工具链现在在卷什么 过去五年这个领域的进化路线很清晰:

  1. 第一波:替代 Babel/terser。esbuild 用 Go 证明了并行 + 原生能快一到两个数量级。
  2. 第二波:类型剥离。swc 和 oxc 把 TS 到 JS 的转换简化成纯语法擦除,不做类型检查,速度再提一个量级。
  3. 第三波:一体化。Vite、Turbopack、Rspack 这类把打包、转换、开发服务器整合,重点是增量和缓存。

现在的新项目想突围,要么在某一点上做到极致,要么提供现有工具没有的能力。

该不该关注 如果你是普通业务开发者,现在还不需要考虑。工具链的替换成本很高,收益要到构建时间真的成为瓶颈时才显现。

值得关注的情况:

  • 你的 CI 里构建占了大部分时间。
  • 你在做需要内嵌编译能力的产品(在线 IDE、低代码平台)。
  • 你对 Zig 感兴趣,想找一个真实的编译器项目读源码。

一个务实的评估方法 拿你自己的项目跑一次对比:现有工具链的冷启动构建、增量构建、生产构建各记一次时间,再用候选工具同样跑一遍。别看官方 benchmark——那些通常是精心挑选的场景。

Yuku:用 Zig 写的高性能 JS/TS 编译工具链 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

夜里写代码哥

Zig 的 comptime 和交叉编译确实适合写工具链。但普通业务团队短期用不上,判断标准很简单:构建时间是不是已经真的成为瓶颈了,不是就别折腾。

陈丽

用 Zig 写前端工具链听着冷门,其实挺合理:编译期计算省掉一堆运行时开销,产物还是无依赖的静态二进制,流水线里不用再折腾运行库。短板在生态,除非核心贡献者能长期投入,不然企业选型多半还是偏向 Rust 阵营。

登录 后参与回复