開発

Bun 1.4正式リリース Rust移植でCPU・メモリ大幅改善

サーバサイドJavaScriptランタイム「Bun 1.4」が正式リリース。ZigからRustへの書き換えによりアイドルCPU使用量が5分の1に、メモリ消費は最大32%削減。Node.js互換性も向上した。

6分で読める SINGULISM 編集チームが確認・編集

Bun 1.4正式リリース Rust移植でCPU・メモリ大幅改善
Photo by FONG on Unsplash

AFFILIATE_PRODUCTS: (なし)

サーバサイドJavaScriptランタイムの最新版「Bun 1.4」が2026年8月20日に正式リリースされた。最大の変更点は、以来Zig言語で開発されてきたコードベースをRustに全面書き換えしたことだ。Claude Codeを活用したZigからRustへの移植作業は約11日間で完了しており、本次はその成果が初めてリリースに反映されたバージョンとなる。

Publickeyのjniinoの報道によれば、Bun 1.4は2,900件以上のGitHubイシューを修正し、Node.jsテストスイートから1,517件のテストを追加した。Rustへの移植に伴い、ランタイム全体の安定性が向上しており、特にメモリ周りの動作に顕著な改善が見られた。

Node.js互換性の大幅向上

Bunは登場以来「Node.jsの代替」として開発が進められてきたが、互換性の不足はユーザーが本番環境への移行をためらう主因の一つだった。Bun 1.4では、これまでBun史上最多となる互換性向上が行われた。

具体的には、テストフレームワークのPlaywrightとvitestが動作するようになった。これらはNode.jsのAPIに強く依存するため、これまでのバージョンでは一部非互換となり正常使用が困難だった。さらに、テレメトリ収集基盤のOpenTelemetryも対応し、プロダクション環境での観測可能性が向上した。

Next.js App RouterでのSSR処理中に発生していたメモリリークも修正された。クエリ呼び出し時にガベージコレクションの参照保持サイクルが発生し、ページごとにメモリが増加する問題だった。Rustのオーナンシップモデルによるメモリ管理の導入が、この種のバグの根本解決に寄与したと見られる。

CPU・メモリ使用量の削減

性能面での改善は数値として明確に示されている。アイドル時のCPU使用量は以前の5分の1に減少。メモリ消費量は最大32%削減された。起動速度もLinux環境で最大50%高速化され、4.8ミリ秒という数値が公表されている。

正規表現の処理速度はNode.jsと比較して最大281倍高速化された。正規表現はJavaScriptランタイムにおいて頻繁にボトルネックとなる処理であり、this magnitude of improvement is significant for workloads that rely heavily on pattern matching.

Rustへの移植がこれらの改善を可能にした背景には、Rustのゼロコスト抽象化と所有権ベースのメモリ管理がある。Zigでも手動でのメモリ管理が可能だったが、Rustの型システムがコンパイル時に安全なコードを保証することで、ランタイムオーバーヘッドを削減したと推測できる。

起動速度とパフォーマンスの全体像

起動速度4.8ミリ秒という値は、サーバレス環境やCI/CDパイプラインにおいて大きな意味を持つ。コールドスタートの遅さは従来Bunでも課題であり、この改善はEdge ComputingやFaaSでの採用を後押しする要素となる。

人気サイトlobste.rsがSQLite移行に成功、CPU使用率低下とコスト半減 でも、ランタイムやインフラの選択がCPU・メモリ使用率に与える影響が大きく、運用コストを決定づける事例が報告されている。Bun 1.4の性能改善も、同様にInfrastructure as Code環境でのコスト削減に直結する可能性がある。

編集部の見解

短期的に見れば、Bun 1.4のNode.js互換性向上は、開発者の移行障壁を一段低めた。Playwrightやvitestが動作するようになったことは、既存のNode.jsプロジェクトからの移行検討を加速させるだろう。特に新規プロジェクトの選定局面では、性能差が明確に数値化されたことで、Bun採用の根拠が強まった。

長期的には、Claude CodeによるZigからRustへの11日間の移植という開発プロセス自体に注目する必要がある。大規模なコードベースの言語間移植をAI支援で短期間に行えた事例は、ランタイム開発の工学的コストを根本的に変える可能性がある。今後同様の手法が他のOSSプロジェクトで波及するかが、一つの論点になりそうだ。

Rust移植がもたらした改善の全てが言語選択に起因するのか、並行して行われた2,900件以上のバグ修正によるものなのか、両者の寄与度を分離して評価することは難しい。Rust移行の効果を正確に測定するための、言語別ビルド比較のベンチマーク公開が待たれる。

参考

よくある質問

Bun 1.4でNode.jsの全APIが使えるようになったのか
依然として完全な互換性は実現されていない。ただし、Bun史上最多の互換性向上が行われ、Playwrightやvitest、OpenTelemetryなど主要ツールが動作するようになった。公式ブログで互換性の詳細な一覧が公開されている。
ZigからRustへの移植はどのように行われたのか
Claude Codeを11日間稼働させて、Zigで書かれていたコードベースをRustに書き換えた。大規模な言語間移植をAI支援で短期間に行った事例であり、開発プロセスとしても注目される。
Bun 1.4の性能改善はNode.jsに対してどのような優位性があるか
アイドルCPU使用量が5分の1、メモリ消費が最大32%削減、正規表現処理が最大281倍高速化、起動速度が最大50%向上した。サーバレス環境やCI/CDパイプラインなど、コールドスタートの遅さが課題だった場面で特に有効と見られる。
出典: Publickey

コメント

← トップへ戻る