重写《Rust 中的 Bun》

JavaScript 运行时 Bun 的创始人 Jarred Sumner 宣布,正在将 Bun 的核心部分从 Zig 语言重写为 Rust。此举直接源于 Zig 在混合内存管理的巨大隐患——Bun 在 1.3.14 版本中修复了近 20 个内存安全相关的严重漏洞,包括 use-after-free 和双重释…

重写《Rust 中的 Bun》

一句话看懂:JavaScript 运行时 Bun 的创始人 Jarred Sumner 宣布,正在将 Bun 的核心部分从 Zig 语言重写为 Rust。此举直接源于 Zig 在混合内存管理的巨大隐患——Bun 在 1.3.14 版本中修复了近 20 个内存安全相关的严重漏洞,包括 use-after-free 和双重释放,团队决定通过语言层面的内存安全保障来系统性解决稳定性问题。

事件核心:发生了什么

Bun 创始人 Jarred Sumner 在官方博客中承认,Bun 从 Zig 移植到 Rust 的决定是经过长期权衡的。Bun 最初是 esbuild 的 JavaScript/TypeScript 转译器从 Go 到 Zig 的逐行移植,Sumner 在 2021 年 4 月开始写第一行 Zig 代码,并在一年内完成了庞大功能集的原型。如今 Bun CLI 月下载量超过 2200 万,被 Claude Code、OpenCode 等工具采用,并得到 Vercel、Railway、DigitalOcean 等平台的官方支持。

但 Bun 的稳定性始终是痛点。博客列举了 v1.3.14 版本修复的多类内存错误,包括 zlib 流并发写入时的堆释放后使用、http2 重入回调导致哈希表重排后指针失效、Buffer 操作中 valueOf 回调引发的越界读写,以及多项内存泄漏。Sumner 强调,这类 bug 靠逐个修补不可持续,而 Rust 提供的编译期内存安全保证是系统性解决方案。他使用了 Anthropic 的 Claude Fable 5 预发布版来辅助大部分 Rust 重写工作。

为什么重要

这标志着 Bun 从“以性能赌注”转向“以可靠性赌注”。Zig 让 Bun 在一年内完成了庞大功能的原型开发,但混合了 JavaScript 垃圾回收与手动内存管理的架构,使得 use-after-free 和双重释放成为持续隐患。Rust 的所有权模型能从编译层面杜绝这类错误,但代价是更高的学习成本和重构周期——Sumner 本人承认,这是以往不可逆的语言选择,直到近期才具备可行性。

对行业而言,这是一个值得观察的案例:当工具型项目从快速原型期进入企业级稳定期,语言选择是否应从“开发效率最优”转向“内存安全最优”。Bun 团队此前已采取了超常规的稳定措施(为 Zig 编译器添加 AddressSanitizer 支持、持续 fuzz 测试、Windows 上采用 SafetyChecked 构建),仍然无法根除并发内存错误,这增加了 Rust 在系统级 JavaScript 运行时领域的吸引力。

对用户/开发者/创作者的影响

短期来看,正在使用 Bun 的开发者可能经历一段过渡期。Rust 重写意味着 Bun 的内部 API 和部分 Node.js 兼容实现将发生重大变化,测试工作量和潜在的回归风险都将上升。但长期来看,更稳定的内存安全保证将减少生产环境中随机崩溃和内存泄漏,直接提升依赖 Bun 运行工具的开发体验,尤其是使用 Claude Code 和 OpenCode 等重度用户。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

对系统工具开发者而言,Bun 的决策提供了一个可对照的决策模型:是否应从 Zig/C 迁移到 Rust,关键在于项目是否面临 GC 与非 GC 内存混合管理的根因风险。对 Bun 的竞品(如 Node.js 的 Deno 运行时内置 Rust 组件)而言,这是一个巩固自身技术路线的时机。

值得关注的后续

第一,Rust 重写版 Bun 何时面向公众发布,以及性能指标能否保持或超过 Zig 版本——如果性能明显下降,会削弱 Bun 的最大卖点。第二,Anthropic 收购 Bun 后,Claude Fable 5 在代码重写中的具体贡献度:Sumner 提到“大量使用”该模型,但未给出量化指标;若公开更多数据,将有助于评估 LLM 辅助系统级代码迁移的实际效率。第三,Zig 生态的反应——如果 Bun 作为其最知名的用户项目离开,可能会影响其他潜在项目选择 Zig 的信心。

来源:Hacker News · 24h最热

celebrityanime
celebrityanime
文章: 12229

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注