Claude Code 现在跑在用 Rust 写的 Bun 上

查看原文 HN 讨论

文章摘要

Simon Willison 这篇短文验证了一个很多人关心的问题:Bun 那场备受争议的 Zig-to-Rust 重写,到底有没有真的上生产?

起因是 Bun 作者 Jarred Sumner 宣布,Claude Code v2.1.181(2026 年 6 月 17 日发布)及之后的版本,使用的已经是 Rust 版的 Bun,在 Linux 上启动速度快了 10%,而用户侧几乎没有其他可感知的变化。Sumner 的原话很克制:「Linux 上启动快了 10%,除此之外几乎没人注意到。无聊是好事。」

Simon 用命令行工具亲自查了 Claude Code 的二进制,找到两条证据。第一条是版本号:对 Claude 可执行文件跑 strings,能看到「Bun v1.4.0 (macOS arm64)」——而当时 GitHub 上 Bun 的最新公开发布还是 5 月 12 日的 v1.3.14,也就是说 Claude Code 里装的是一个尚未公开发布的 Bun 预览版。第二条是源码路径:grep Rust 文件名,得到 563 条源码文件路径,其中包括 bundler 和 runtime 组件的引用,比如 src/bundler/bundle_v2.rs

Simon 的结论是:「看起来用 Rust 写的 Bun 确实正在数百万台不同设备上跑生产。」他把这件事读作一个信号——主流 JavaScript 工具链正在为性能转向 Rust,而这次重写成功地无声无息地铺到了数百万用户手上。

不过 HN 上 848 条评论展现的图景要复杂得多,也远不如作者本人那么淡定。争论大致分成四条主线:(1)Zig 是否本就不适合 Bun 这种大量小对象、生命周期互不相关的分配模式,还是团队工程能力不足;(2)Bun 现在有大量 unsafe Rust、且是逐行机械翻译,所谓「内存安全收益」是否名不副实;(3)为什么不干脆把 Claude Code 本身用 Rust 重写,而要绕道重写一个 JS 运行时;(4)项目治理和沟通方式——一个 100 万行以上的 PR 在不到一个月内合并,社区参与度接近于零,这对「开源项目 Bun」意味着什么。此外相当多用户报告 Claude Code 近期的 TUI 渲染问题、段错误和终端会话被搞乱的现象,虽然多数人都谨慎地表示无法确认与这次重写有关。

HN 评论精华