Vue中文社区

比 Vite+ 快 5.4 倍的前端工具链!正式发布!

前端工具链这几年真的卷疯了。

esbuild 用 Go 打破性能天花板。

SWC、Oxc、Rolldown 又把 Rust 推到了前台。

现在,新的玩家来了。

这一次不是 Rust,而是 Zig。

Image

它叫 Yuku。

一个用 Zig 编写的 JavaScript / TypeScript 编译器工具链。

更夸张的是:

它的性能测试直接超过了很多人熟悉的 Oxc。

Image

而 Oxc 作者 Boshen Chen 也公开认可了 Yuku 的性能表现,并称赞它采用的 Data-Oriented Design(数据导向设计)。

要知道,Oxc 可不是普通项目。

它正是当前前端工具链新时代的重要基础设施之一。

包括未来的 Vite+、Rolldown,都大量依赖 Oxc 提供的底层能力。

那么问题来了:

一个刚出现的 Zig 工具链,凭什么跑赢 Rust?

前端工具链的新战争

以前前端开发,大家关注的是:Vue、React、Next.js。

但现在真正决定开发体验的,越来越底层。

比如:

  • 代码解析
  • AST 转换
  • 类型分析
  • 压缩优化
  • Lint
  • 格式化

这些事情每天都在发生。

项目越大,工具链速度越重要。

所以近几年出现了一场基础设施重构:

Babel
  ↓
esbuild (Go)
  ↓
SWC (Rust)
  ↓
Oxc / Rolldown (Rust)
  ↓
Yuku (Zig)

前端正在逐渐进入“系统语言时代”。

Yuku 到底快在哪里?

很多人看到 benchmark 会疑惑:

为什么一个 Parser 能影响这么大?

原因很简单:现代前端工具链,本质就是不断处理代码,处理大致分为四步-


## 第一步:
把源码解析成 AST。

## 第二步:
分析 AST。

## 第三步:
修改 AST。

## 第四步:
重新生成代码。

所以 Parser 是整个链路最核心的一环。

Yuku 的核心优势:

就是它重新设计了这一套流程。

关键优化:Data-Oriented Design

传统 AST 通常是:

Node
 ├── Node
 │    ├── Node
 │    └── Node

大量对象嵌套。

对于 JavaScript 来说,这种结构很自然。

但对于高性能工具链来说:

它有一个问题。

内存访问效率低。

大量对象分散在内存里,会导致:

  • Cache miss
  • GC 压力
  • 序列化成本增加

Yuku 选择了另一种方式:

Data-Oriented Design

数据导向设计。

简单来说:

不要围绕对象设计。

而是围绕数据布局设计。

让 CPU 更容易读取和处理。

这也是为什么它在大规模代码解析场景里表现非常强。

npm 场景直接拉开差距

官方 benchmark 中,一个非常关键的数据:

解析 typescript.js(约 7.8MB)。

Image

结果:

Yuku       49ms
Acorn      133ms
Babel      184ms
Oxc        265ms
SWC        480ms

相比:

  • Babel:约快 3.7 倍
  • Acorn:约快 2.7 倍
  • Oxc:约快 5.4 倍
  • SWC:约快 9.8 倍

这也是 Yuku 最有价值的地方。

因为很多时候大家只看 native benchmark:

Rust 比 Go 快。

Zig 比 Rust 快。

但真实前端环境不是这样。

最终你需要的是:

Node.js 可以直接使用。

插件可以快速调用。

AST 可以高效传输。

Yuku 针对的正是这个环节。

社区关注度非常高

因为 Vite+ 背后的方向,就是重新打造下一代前端工具链。

现在这条路线:

Vite+
 │
 ▼
Rolldown
 │
 ▼
Oxc
 │
 ├── Parser
 ├── Transformer
 ├── Minifier
 ├── Analyzer
 └── Linter

大量能力都来自 Oxc 生态。

而 Yuku 做的事情,刚好也是这个方向:底层编译能力。

所以它最大的想象空间不是:“替代某个 npm 包”。

而是未来有没有机会成为下一代:

  • Bundler
  • IDE
  • AI Coding Agent
  • Code Intelligence

的底层引擎。

写在最后

过去几年,大家以为 Rust 会成为终点。

但现在看来可能只是开始。

Go 带来了 esbuild。

Rust 带来了 SWC、Oxc、Rolldown。

现在:Zig 又来了。

更低层、更快、更接近硬件。

前端工具链的新战争,开始了。

  • Yuku官网:https://yuku.fyi/