概要
- Bun v1.4 は、Node.js互換性・パフォーマンス・開発体験を大幅に強化
- メモリ・CPU消費削減、起動速度向上 など、実運用向け最適化
- 新API・ツール追加 や、ZigからRustへの全面書き換えを実施
- Node.jsテストスイート の大部分に合格、主要フレームワークも動作
- プロファイリング・バンドル分析 など、観測性・デバッグ機能が強化
Bun v1.4の主な進化点
-
Node.js互換性の拡大
- Node.jsテストスイートから 1,517件の新テスト を追加
- node:http, node:fs, node:cluster, node:timers, node:zlib, node:vm, node:stream などが97%以上合格
- node:quic は99%、 node:events, node:trace_events, node:sqlite は100%合格
- Playwright, Next.js 16, vitest, OpenTelemetry, dd-trace など、主要パッケージの動作確認済み
- Nuxt, testcontainers, dockerode, grpc-js, Fastify, TypeORM など、多数のパッケージがBunで動作
-
新API・機能追加
- Bun.Image, Bun.WebView, Bun.markdown, Bun.cron(), Bun.Terminal など新API
- bun run --parallel, bun test --parallel, bun audit fix, bun dedupe, bun prune などの新コマンド
- worker_threads, ws, socket.upgradeTLS, node:cluster, node:repl, node:trace_events, node:domain などのNode API実装
-
パフォーマンス最適化
- idle CPU使用率5倍削減、メモリ最大35%削減、Linuxで50%高速起動
- メモリアロケータをJavaScriptCoreのlibpasからmimallocへ統一 し、メモリ解放最適化
- ガベージコレクタ・futexコール削減、lazy zeroing実装 による効率化
- Windowsで2.5倍、Linuxで2倍の起動速度向上
-
メモリ使用量の具体的改善
- HTTPサーバ用途で13%~48%のメモリ削減
- Next.js SSRでNode.jsより大幅に低いメモリ消費 (4,000ページでBun:238MB, Node:410MB)
-
バイナリサイズ削減
- Linux/Windowsで最大17%小型化
観測性・デバッグ機能
- bun --cpu-prof, bun --heap-prof でChrome DevTools/VS Code互換のプロファイル出力
- bun --cpu-prof-md, bun --heap-prof-md でMarkdown形式のプロファイル生成
- ターミナルで関数別CPU使用率、ヒープ占有オブジェクト、GCルート等を可視化
- bun build --metafile-md でバンドル分析をMarkdown出力
- モジュールごとの出力サイズ、依存チェーン、エントリーポイント解析
Bun 1.4アップグレード・導入方法
- インストール
curl -fsSL https://bun.sh/install | bash - アップグレード
bun upgrade
まとめ
- Bun v1.4 は、Node.js互換性・パフォーマンス・観測性の全方位進化
- 既存JavaScriptエコシステムとの高い互換性 と 開発効率向上
- 今後もNode.js100%互換に向けた進化が継続
関連ドキュメント・詳細情報