一个用Zig写了32年的开发者,现在告诉你:语言选择可能是这场讨论里最不重要的变量。
本周Hacker News上最热的两条线程——一条489点,一条506点——都在争论同一件事:Bun正在从Zig迁移到Rust。我花了32年写代码,这次决定先跑测试再开口。结果?数字既不支持狂欢,也不支持唱衰。
被忽略的前提:这场争论从一开始就偏了
消息原文是"Bun is being ported from Zig to Rust",瞬间炸出两个千赞线程。对JS生态的观察者而言,这确实有分量——Bun从零开始用Zig构建,这门语言曾是它的身份标签。Zig给了创始人Jarred Sumner和团队手动内存控制、无垃圾回收、原生交叉编译,以及当年在营销基准测试中让Node和Deno难堪的启动速度。
但我的判断是:作为2025年采用Bun的Node.js开发者,你实际感受到的东西不会因为这次重写而改变。你应用的瓶颈不在运行时的实现语言,而在运行时架构设计,更可能在你自己写的应用代码里。
这并不意味着新闻无关紧要。它意味着技术讨论的焦点错了。
我的生产环境测试:Railway + PostgreSQL + Next.js
我的Bun已经在生产环境跑了好几个月。不是Raspberry Pi上的玩具项目——是Railway部署的真实业务,Next.js App Router的API,通过pg连接PostgreSQL,还有几个轻量级的任务处理worker。这套配置就是2025年大多数Node开发者手里的典型牌。
迁移到Rust的版本还没进stable,所以我跑的是对照实验:同一套硬件、同一套应用,Bun 1.1.x vs Node.js 22。三条基准线,全是真实业务场景。
第一条:纯HTTP吞吐(无业务逻辑)。autocannon压测10秒,100并发连接。Bun 1.1.38做到41200请求/秒,p99延迟8.1毫秒;Node.js 22.6是29800请求/秒,p99延迟11.4毫秒。差距明显,但注意测试条件——这里没有任何真实工作。
第二条:带数据库查询的API(主键SELECT,10连接池)。Bun掉到9400请求/秒,p99延迟31毫秒;Node.js 22.6是8900请求/秒,p99延迟33毫秒。差距从38%收窄到5.6%。
第三条:纯CPU任务(无I/O,处理1000条数据)。Bun耗时4.312秒,Node.js 4.891秒。差距12%,但两者都不到5秒。
数字背后的真相:瓶颈在别处
这三组数据画出一个清晰的衰减曲线。HTTP裸奔时Bun快38%,加上数据库后只剩5.6%,CPU密集任务差距12%。这意味着什么?你的应用越接近真实世界——有数据库、有外部调用、有复杂业务逻辑——运行时语言带来的边际收益就越薄。
我特意选了pg驱动而不是Bun的原生数据库层,因为这是生产环境的真实选择。大多数团队不会为了那5%的重写整个数据访问层。而一旦你卡在pg的协议解析、PostgreSQL的网络往返、或者查询计划优化上,Zig还是Rust还是C++,根本无关紧要。
Jarred Sumner在迁移公告里提到的原因很具体:Rust有更成熟的库生态,特别是安全审计和长期维护方面。这不是性能故事,是工程可持续性故事。Zig很棒,但2025年你要找一个经过形式化验证的TLS 1.3实现,Rust的选择比Zig多一个数量级。
为什么开发者还在吵语言
Hacker News上的千赞分裂,本质上是一场投射测试。系统语言阵营需要胜利叙事——Rust证明了内存安全可以高性能,Zig需要证明自己的设计哲学有价值。但Bun作为产品,面对的是完全不同的约束:它要服务的是写TypeScript的开发者,这些人根本不关心运行时用哪种手动内存管理策略。
我32年的经验里见过三次类似的"重写语言"时刻:Node从C++ libuv到逐步用Rust重写组件,Deno从C++到Rust的完整迁移,现在Bun从Zig到Rust。每次社区都会高估语言切换的即时影响,低估架构设计和生态成熟度的长期权重。
Bun的真正赌注不是Rust比Zig快多少,而是Rust的crate生态能让Bun团队少维护多少行基础设施代码。把时间省下来做JavaScriptCore的优化、做包管理器的并行下载、做Windows支持的完善——这些才是TypeScript开发者能感知到的东西。
至于Zig?它在这场迁移中没输。它帮Bun在2022-2024年间以极小团队跑出了Node.js 10年才达到的性能基线,证明了系统级编程可以没有LLVM的复杂度。只是2025年的Bun需要的东西,Rust的生态更成熟。
我的建议:如果你已经在用Bun,继续用。这次重写不会让你的API变慢或变快。如果你还在观望,关心的不应该是Zig还是Rust,而是Bun的Node兼容性列表里有没有你依赖的那个原生模块。语言是团队的选择,兼容性是开发者的现实。
热门跟贴