Bun、JavaScript ランタイム Bun 1.4 を公開──Rust への移植によりアイドル時 CPU 5分の1化とメモリ 35% 削減を達成
Claude Code を活用して Zig から Rust へ全面書き直しを行い、Playwright や vitest などの主要ツールとの互換性を確保した。
リリース: 2026-08-20 · 読了 3 分記事の要約
1. 核心(What)
- Bun 1.4 正式版がリリースされ、Claude Code を用いて従来の Zig 言語から Rust 言語へのコードベース移植が行われた。
- Node.js との互換性が大幅に向上し、Playwright、vitest、OpenTelemetry が正常に動作するようになった。
- Next.js App Router の SSR 時に fetch() を呼び出す際の GC 保持サイクルに起因するメモリリークが修正された。
- アイドル時の CPU 使用率 5 分の 1 低下、メモリ消費最大 35% 減、Linux 起動速度最大 50% 向上などのパフォーマンス改善を達成した。
2. 影響(Why)
- 本番運用の最大障壁だったメモリリークの解消: Next.js SSR におけるメモリリーク修正により、長時間の稼働が前提となる商用サーバー環境でもプロセスが安全に回り続ける。
- エコシステム互換性の実用域への到達: Playwright や vitest が動くことで、テストや E2E のために Node.js 環境を別で維持するコストが削減される。
3. 根拠・詳細(How)
- Rust 移植によるメモリ安定化とコンポーネント最適化: Zig 製から Rust 製への全面的な書き直しにより、GitHub issue 2,900 件以上をクローズしつつ基盤の安定性を担保している。
- 正規表現エンジンとプロセス起動の超高速化: 内部の正規表現処理が最適化され Node.js 比で最大 281 倍に高速化されたほか、Linux 環境での起動が最大 50% 短縮された。
4. 展望・課題(Next)
- 完全な Node.js 互換性の達成に向けた課題: 大幅な互換性向上を果たしたものの完全互換には至っておらず、非互換な特定 API については今後のパッチリリースでの対応待ちとなる。