Cruller:Bun 的 Zig 运行时精简版
Cruller: Bun's Zig Runtime, Continued on Zig 0.16

Cruller 是 Bun 在 Zig 0.16 上的精简运行时分支,专为生产环境打造。它保留了 JavaScriptCore、HTTP/1-3、WebSockets 等核心功能,但移除了包管理器、Bundler、测试运行器等开发工具。相比官方 Bun,Cruller 体积减少约 18%,性能持平。作者强调,这不是要取代 Bun,而是将其转化为一个轻量、可嵌入的库,供 Zig 生态使用。未来计划增强 HTTP/2 和 HTTP/3 支持,并引入基于 QuickJS 的动态内存控制器。
Cruller 不是用来替代 Bun 的开发工具,而是一个专门用于运行预构建生产代码的最小化运行时。
HN 评论区
114- Skywalker13
我不明白为什么这个分支的 git 历史被修剪了。
根据该分支的第一个提交:
> 压缩为单个孤儿提交——原始的 oven-sh/bun 历史与此精简分支无关,且其浅克隆无法干净地推送到新的远程仓库。
恕我直言,这样做永远是个糟糕的决定。在这里,所有提交作者的记录都丢失了。原始历史始终是有相关性的。
- andai
这里似乎存在一些误解(包括链接中的讨论?),关于这个项目到底是什么。这并不是在原始 Bun (Zig) 代码库上继续开发。
它是从该代码库中提取一个子集,用于部署目的。完整的 Bun 版本(推测是用 Rust 写的?)将继续用于实际开发。
所以它不是 Bun 的替代品,而是补充品。
- dbalatero
> 我的想法是将系统精简到最大程度,只保留生产环境所需的部分。
> 开发将使用完整的 Bun 运行时,而生产环境则使用其轻量级分支 Cruller。我没有 Oven 团队那样的资源来开发和维护一个庞大的通用运行时,所以我希望专注于特定的生产需求。
我不知道其他人怎么看,但我不认为我会让开发运行时和生产运行时产生如此显著的差异。对于我来说,出现仅在 production 环境中才暴露的行为的风险太高了。
- pjmlp
一如既往,大多数因社区分裂而产生的分支最终都会消亡。
- holysantamaria
让 Bun 成为 Bun 的,正是这个项目中被移除的所有东西。Node 已经足够强大且维护良好。为什么还有人要用这个?
- ksec
这让我想到,如果把 Bun 的代码喂给 AI,不是让它改写成 Rust,而是告诉它尽可能遵循 TigerStyle 会怎样?
- theawesomekhan
有一点需要指出的是,作者的所有评论看起来都是 LLM 生成的,README 和该分支的最新提交(大段解释写在注释里,然后才是代码变更)也是如此。
- bradhe
不错,这将会是一个很有趣的项目,大家会关注两周,然后彻底遗忘!