Buz: より速いビルドとクリーンなコードのための Bun の Modern Zig フォーク

Buz: より速いビルドとクリーンなコードのための Bun の Modern Zig フォーク

Buz は、現代化され、「deslopped」なコードベースを持つ Bun のドロップイン置換となることを目指しています

Buz は、Bun のランタイムの作業中のフォークであり、Bun が Rust への書き換えに移行する前の最終コミットに基づいています。プロジェクトの主な目的は、現代的な Zig と積極的な技術的負債削減を活用することで、Bun のドロップイン置換を提供しながら、コード品質と開発者体験を大幅に向上させることです。

build.zig を介したサブ秒インクリメンタルビルド

Buz は、build.zig にビルドグラフ全体を移行し、JavaScriptCore のベンダー済みソースも含めることで、サブ 1 秒のインクリメンタルビルドを達成します。この移行により、元の Bun ビルドプロセスと比較して開発ループが大幅に高速化されます。

According to contributor kristoff_it, this proves that fast builds were always possible for Bun, though some platform limitations remain:

  • Zig incremental compilation currently does not support aarch64.
  • Only the Linux linker currently supports binary patching.

技術的負債の削減と「deslopping""

このプロジェクトは、元の Bun コードベースから「slop」―低品質または冗長なコード―を削除することに重点を置いています。主な成果と戦略は以下の通りです:

  • Dead Code Removal: 作者はすでに完全に死んだコードの 11,000 行以上を削除しています。
  • Modernization: コードベースの一部は、Zig 標準ライブラリにもっと依存するように書き直されています。
  • Test Integration: Bun の Rust バージョンからのすべての新しいテストが、機能パリティとバグ修正を確保するために Buz にインポートされていますが、多くのテストはまだ処理中です。
  • AI-Driven Refactoring: コードベースの規模(約 600,000 行)のため、作者はサブシステムをほぐして書き直すために LLMs を広範囲に使用しています。その結果、コードベースが管理可能な状態になるまで、人間によるコードの貢献は現在受け付けていません。

アーキテクチャと依存関係

一部の批評家は Bun が主に C/C++ プロジェクトのための「接着剤」であると主張していますが、Buz の作者はプロジェクトの相当な部分がネイティブな Zig コードであることを明確にしています。たとえば、パッケージマネージャだけで 40,000 行のコードがあり、すべての Node と Web API は Zig で実装されています。

Buz は引き続き、以下のいくつかの重要な外部依存に依存しています:

  • JavaScriptCore (JSC): コアエンジン。
  • uWebSockets, Brotli, lol-html, and tinycc: コアのパフォーマンスクリティカルなライブラリ。

V8 互換性については、Buz は Bun の既存の戦略を維持し、部分的な V8 API シムを使用して人気のあるパッケージが引き続き動作するようにし、完全なカバレッジを実装するわけではありません。

コミュニティの視点と批判

Buz の発表は、技術コミュニティ内でさまざまな反応を引き起こしました:

  • On AI usage: 一部のユーザーは、LLM が allegedly 作成したコードをきれいにするために LLM を使用することへの皮肉を表明しており、あるユーザーは「2026 年にはテクノロジーのピークに達した」と述べています。
  • On Utility: 一部の開発者は、サブ秒ビルド時間の実際的な価値を疑問視しており、ビルド速度がランタイム開発における主なボトルネックになることはほとんどないと主張しています。
  • On Sustainability: 批判者は、サイドプロジェクトとして JavaScript ランタイムを維持する難しさを指摘しており、広範なエコシステムがない場合、ユーザーは公式の Bun リリースを好むか、Node.js に戻る可能性があると指摘しています。
  • On Code Quality: 他の開発者は、コード管理への焦点を称賛しており、プロジェクトが機能開発(「tick」)を急速に進めた後、安定化と「unslopifying」(「tock」)のための期間が必要になる一般的な「tick-tock」サイクルを指摘しています。

SUMMARY: Buz は、Rust への書き換え前の Bun のコードベースに基づく作業中のフォークであり、現代的な Zig を活用してサブ秒インクリメンタルビルドを達成し、技術的負債を削減しています。

TITLE: Buz: より速いビルドとクリーンなコードのための Bun の Modern Zig フォーク }

Sources