Bun 1.4はZigからRustへ全面書き換えされた最初の安定版です。TypeScriptの直接実行を1.4.2で検証し、メモリ48%減や起動5.1msの実測値とともに、移行手順や新APIを紹介します。
この記事が解決する悩み
- Node.jsから乗り換える価値があるのか判断したい
- Rustに書き換わって、実際に何が変わったのか知りたい
対象読者: JS/TSのランタイム選定を担当している人
前提知識: Node.jsとnpmを使った経験があること
結論
Bun 1.4 は2026年8月20日リリースの、ZigからRustに全面書き換えられた最初の安定版です。
アイドルCPUが5分の1、メモリは最大35%減、起動は最大50%高速化しました。組み込みAPIとして WebView・Image・markdown・cron も追加されています。
curl -fsSL https://bun.sh/install | bash
# すでに Bun を使っている場合
bun upgrade
Bun 1.4 とは何か
ランタイム・パッケージマネージャ・バンドラー・テストランナーを1つのバイナリに収めた「All-in-One JavaScriptランタイム」です。
Zig -> Rust への書き換え
1.4 で、100万行以上のコードベースが Zig から Rust へ全面移植されました。Claude Code を使い、これが約11日間で完了したことでも話題です。
メモリリークやクラッシュの原因だった低レベルの問題が、コンパイル時に検出できます。
Node.js 互換性の飛躍的向上
テストスイートの通過数が1,517テスト増えました。改善したのは次のモジュールです。
node:quic: 99% 対応node:events,node:trace_events,node:sqlite: 100% 対応node:http: 97% 対応(rewrite済み)node:fs: 97% 対応node:cluster: 85/88 テスト通過node:vm: 98/101 テスト通過
これで Playwright、vitest、OpenTelemetry、dd-trace がそのまま動きます。
新機能APIの使い方
6つの npm パッケージ相当の機能が、外部依存ゼロで使えます。
Bun.markdown — Markdownレンダリング
marked や remark の代わりです。
import { markdown } from "bun";
const html = Bun.markdown.html("# Hello
This is **Bun 1.4**!");
console.log(html);
// <h1>Hello</h1>
// <p>This is <strong>Bun 1.4</strong>!</p>
Bun.Image — 画像処理
sharp の代わりになる画像処理APIです。
const blob = Bun.file("input.jpg");
const img = await blob.image();
await img
.resize(800, null, { fit: "inside" })
.jpeg({ quality: 85 })
.write("output.jpg");
Bun.WebView — ヘッドレスブラウザ自動化
Puppeteer 不要でブラウザ操作ができますよ。
const view = Bun.WebView();
await view.navigate("https://example.com");
const title = await view.evaluate("document.title");
const screenshot = await view.screenshot({ format: "png" });
await Bun.write("screenshot.png", screenshot);
view.close();
Bun.cron() — スケジュール実行
node-cron の代わりのスケジューラーです。
const job = Bun.cron("*/5 * * * *", () => {
console.log("Tick at", new Date().toISOString());
});
setTimeout(() => job.stop(), 60000);
パフォーマンス改善の実測値
CPU使用量
アイドル時のCPU使用率は5分の1です。長時間稼働するアプリでは p99 が24%から10%に下がりました。
メモリ使用量
HTTPサーバーのメモリ使用量は13%〜48%減りました。
- fastify: 233MB → 120MB (−48%)
- Express: 169MB → 92MB (−46%)
- Next.js SSR: 397MB → 285MB (−28%)
起動速度
起動は Linux で最大2倍、Windows で最大2.5倍です。hello world は 5.1ms(Node.js は 27.2ms)。
Node.js からの移行手順
コマンドの置き換えは次のとおりです。
npm run dev -> bun run dev
npm test -> bun test
npm install -> bun install
npx next dev -> bun --bun next dev
注意点
- process.versions.node が 26.3.0 を返すようになりました。
- .env* 自動読み込み は bun で直接実行したときのみ有効。
- ネイティブアドオン はまだ未対応の場合があります。
CLI新コマンド
bun audit fix
bun dedupe
bun prune
bun pm licenses
bun test --parallel
まとめ
| 項目 | Bun 1.3 | Bun 1.4 | 改善 |
|---|---|---|---|
| アイドルCPU | – | 5分の1 | 大幅減 |
| メモリ | – | 最大35%減 | 大幅減 |
| 起動(Linux) | 10.9ms | 5.1ms | 2倍速 |
| Node.js互換 | – | +1,517 | 大幅増 |
| ビルド言語 | Zig | Rust | 全面移行 |
| WebView | なし | 搭載 | 新規 |
| Image/markdown/cron | なし | 搭載 | 新規 |
【広告】お名前.comならドメイン取得が格安。![]()
検証環境
| OS | Windows 11 (build 10.0.26200) |
|---|---|
| CPU | AMD Ryzen 9 PRO 8945HS w/ Radeon 780M Graphics |
| メモリ | 28GB |
| 言語/ツール | Bun 1.4.2(公式のポータブル配布を一時ディレクトリに展開) |
| 使用コマンド | bun run bun_check.ts(TypeScript を直接実行) |
| 測定日 | 2026-09-17 |
上記の環境で実際に実行して確認した結果です。環境が異なる場合は挙動が変わることがあります。

参考
本文の記述は以下の一次情報を確認して書いています。
あわせて読みたい
- 【OSS】OpenCode 入門ガイド — OSS AIコーディングエージェントの使い方
- 【Git】Git 3.0 完全ガイド2026 — SHA-256 デフォルト化と Reftable
- 【OSS】Hono 入門ガイド2026 — 軽量WebフレームワークでREST API開発
- 【OSS】Zed Editor 1.0 セットアップガイド — Rust製エディタの始め方
【広告】このサイトはConoHa WINGで運営しています。安定した高速サーバーで快適にブログを書けています。いつもありがとう!!![]()

コメント