Hacker News 中文摘要

RSS订阅

Buz – 基于现代Zig的Bun分支,实现亚秒级增量构建 -- Buz – A fork of Bun using modern Zig, with sub-1s incremental builds

文章摘要

该文章介绍了一个名为Buz的项目,它是Bun的一个分支,基于Bun重写为Rust之前的最后一个版本。Buz使用现代Zig构建,实现了亚秒级增量构建,旨在成为Bun的即插即用替代品,并拥有更清晰的代码库。

文章总结

以下是您提供的英文文章的中文重述,保留了核心细节,并删除了与主题无关的评论内容(如其他用户的回复):


标题:Buz——使用现代Zig语言构建的Bun替代品,支持亚秒级增量编译

来源:Ziggit论坛

发布时间:2026年7月24日

核心内容:

开发者jazzzooo发布了一个名为Buz的项目,它是JavaScript运行时Bun的一个分支,基于Bun在转向Rust重写之前的最后一个Zig版本。该项目目前处于早期开发阶段,远未达到生产可用标准。

Buz的主要特点包括: 1. 构建系统迁移:将整个构建图迁移至build.zig文件,包括JavaScriptCore的供应商源码,实现了亚秒级增量编译,大幅改善了开发循环。 2. 代码清理:从Bun代码库中删除了超过11,000行完全无用的死代码,并修复了无数错误。 3. 现代化改造:重写并现代化了部分代码,更依赖Zig的标准库,旨在减少技术债务。 4. 测试覆盖:导入了Rust版Bun的所有新测试,涵盖新功能和错误修复,但许多测试尚未通过,需要持续跟进上游更新。

目标与策略: - 成为Bun的“即插即用”替代品,拥有更清晰的代码库。 - 由于Bun代码库庞大(约60万行)且质量参差不齐,开发者将大量使用AI/LLM辅助编码,但强调人类主导,并专注于编写地道的Zig代码。 - 短期内不接受人工编写的代码贡献,直到项目代码库达到合理状态。 - 长期目标是创建一个无需LLM帮助即可愉快维护的代码库。

支持的Zig版本: 项目包含一个略微修补的Zig master子模块,主要针对增量编译。上游Zig的特定提交版本也能正常构建。

关于依赖重写: 开发者表示,Bun的核心性能依赖于C/C++项目(如JavaScriptCore、uWebSockets等),Zig主要起“胶水”作用。目前没有计划用Zig重写这些大型依赖,但未来可能重写小型依赖。对于V8兼容性,Bun已有部分API垫片,将继续沿用此策略。

总结: Buz是一个旨在清理Bun代码库、提升开发效率的分支项目,通过现代Zig构建和AI辅助开发,力求成为更稳定、更易维护的Bun替代品。

评论总结

根据评论内容,总结如下:

主要观点与论据:

  1. 对Bun代码质量的批评与“去劣化”尝试

    • 评论指出Bun存在大量死代码(11,000行),代码库被忽视,且通过LLM清理AI生成的“劣质代码”显得讽刺(评论4、8)。
    • 关键引用:
      • “I’ve cut over 11,000 lines of completely dead code from Bun... Is anyone else surprised at this dead code figure?”(评论8)
      • “So we're using LLMs to clean up the code that LLMs ruined in the first place?”(评论4)
  2. 对项目可持续性的质疑

    • 缺乏生态系统支持,维护难度大,用户可能回归Node.js(评论3)。
    • 关键引用:
      • “without an ecosystem I doubt this person can keep maintaining it long term... those who care will go back to Node.js”(评论3)
  3. 对Bun性能优化的争议

    • 部分评论认为Bun的构建速度优化已接近边际效益,当前瓶颈并非构建时间(评论9)。
    • 关键引用:
      • “This is approaching diminishing returns and I guarantee that your CURRENT bottleneck is not build times.”(评论9)
  4. 对JavaScript生态“过度创新”的疲劳感

    • 评论者认为工具链频繁更迭,缺乏对实际问题的解决(评论7、14)。
    • 关键引用:
      • “are we enter a phase the supply way > requirement or people just build stuffs and not care serious usage anymore?”(评论7)
      • “Now that no one cares about JS frontend framework, we moved the drama over to JS tooling written in other languages.”(评论14)
  5. 对Bun分支的积极评价

    • 分支证明了Bun本可实现更快的构建,但存在平台限制(评论6)。
    • 关键引用:
      • “this fork has proven that Bun could have had fast builds all along... it's just a matter of time before all major platforms are conquered.”(评论6)

平衡性说明:
- 正面观点:认可分支在代码清理和构建速度上的潜力(评论6、8)。
- 负面观点:质疑项目可持续性、性能优化必要性及生态价值(评论3、4、9)。
- 中立观点:对“AI清理AI代码”的讽刺(评论4),以及对JavaScript生态“过度创新”的疲劳(评论7、14)。