JavaScriptおよびTypeScriptアプリケーションのスタンドアロン実行向けに設計され、Node.jsのシームレスな代替となることを目的としたプラットフォームであるBun 1.4がリリースされました。1.4ブランチの特筆すべき点は、Claude AIツールを使用してZigからRustへのコードベース移行を実現したことです。コードは引き続きMITライセンスで提供されます。
Rustへの書き換えの理由としては、Bunにおけるメモリリークの問題に対処したいという要望に加え、コーディングにおけるAIの利用に関するZigの開発者との意見の相違、そして大規模プロジェクトでは受け入れがたい、互換性を損なう言語変更を容認しないというZigの方針などが挙げられます。Rustへの移行の主な利点は、近年Bun開発者の時間を浪費していたメモリエラーを検出して防止できることです。
ベンチマークに基づくと、Rust版はメモリ消費量が13~48%少なく、起動速度は2倍速く、アイドル時のCPU使用率は最大5分の1に抑えられています。Rust版の実行ファイルサイズは17%削減されました。Claude CodeをBun 1.4で実行した場合、CPU負荷は半減しました。
今回のリリースには、1517件の追加互換性テストと2900件以上のバグ修正が含まれています。新しいライブラリであるBun.Image、Bun.WebView、Bun.markdown、Bun.cron()、およびBun.Terminalが基本ディストリビューションに追加されました。「bun run」コマンドと「bun test」コマンドに並列実行モード(--parallel)が実装されました。Next.js 16およびvitestフレームワークとの互換性が確保されました。
Bunプロジェクトは、Node.js APIのほとんどをサポートしています。このプラットフォームには、JavaScriptおよびTypeScriptアプリケーションの作成と実行のためのツールセット、ブラウザなしでJavaScriptアプリケーションを実行するためのランタイム、パッケージマネージャ(NPM互換)、テストツール、自己完結型のパッケージビルダー、C言語で記述されたハンドラを埋め込むためのレイヤーが含まれています。パフォーマンスの面では、BunはDenoとNode.jsを大幅に上回ります(Reactフレームワークに基づくテストでは、BunはDenoの2倍、Node.jsのほぼ5倍のパフォーマンスを発揮します)。JavaScriptの実行には、JavaScriptCore JavaScriptエンジンとWebKitコンポーネントにパッチを追加して利用しています。
出所: オープンネット.ru
