Bunにbun checkを搭載 tsc 7の3倍以上速いと公表
Anthropicが開発するJavaScriptランタイム「Bun」は、10月10日付でBun v1.4.3を公開した。目玉はTypeScriptの型チェックを行う「bun check」だ。Go言語で作り直したTypeScript 7と比べて3倍以上速く、使うメモリは2分の1から4分の1以下だと説明している。
正しさの面では、TypeScript 7.0.2の適合性テストを100%通したという。Bunが独自のエラーを入れた72個の主要なオープンソースでtscと結果を比べると、違いは1か所だけだった。
ほかにNode.jsとの互換性の改善やJSONの読み込みの高速化も入っている。公式の告知によると、サーバーの待機中のCPU消費は67%減った。直した問題は166件ある。

今のtsconfig.jsonで動く 実行環境は替えなくていい
bun checkは今あるtsconfig.jsonをそのまま読む。AInformationが手元でヘルプを開くと、tscと同じエラーを出すと書いてあった。CPUのコアは全部使い、プロジェクトの参照もtsc -bと同じようにたどる。
Bunで動かしていないプロジェクトでも、型チェックだけを任せられる。今回もnpmでbun@1.4.3を入れただけで、pnpmで管理するHonoのリポジトリにそのまま使えた。ファイルを型チェックしてから実行する「bun –check」も用意されている。
効きそうなのは、プルリクエストのたびにCIで型チェックを回しているチームだ。AIに書かせたコードを何度も直させる開発では、待ち時間がそのまま積み上がる。
公式の発表と手元の実測
| 項目 | Bunの公式発表 | AInformationの実測 |
|---|---|---|
| 速さ | TypeScript 7の3倍以上 | 3.3倍と3.1倍 |
| メモリ | 2分の1から4分の1以下 | 781MBが452MB・369MBが252MB |
| 結果の一致 | 72個で違いは1か所 | エラー4件がファイルと行まで同じ |
Honoで各5回測った tsc 7の0.66秒が0.20秒に
手元でも公表どおり3倍を超えた。AInformationは10月16日、WebフレームワークHonoのGitHubの最新版(10月13日のコミット)でbun checkとtsc 7.0.2を5回ずつ動かした。結果は次のとおりだ。
| 測ったもの | bun check | tsc 7.0.2 |
|---|---|---|
| テスト込み(902ファイル)の時間 | 0.20秒 | 0.66秒 |
| 同じく最大メモリ | 452MB | 781MB |
| 本体だけの時間 | 0.10秒 | 0.31秒 |
| 同じく最大メモリ | 252MB | 369MB |
| 出たエラー | 4件 | 4件(ファイルと行まで同じ) |
AInformation独自検証(10月16日2時台・Apple M4 Pro 12コアでメモリ24GBのMac・各5回の中央値)。tscは前回の結果を残す.tsbuildinfoを毎回消してから測った。
速さは3.3倍と3.1倍で、公表の「3倍以上」に収まる。メモリの差は1.7倍と1.5倍にとどまり、公表の2分の1から4分の1には届かなかった。
前回の結果を使うtscの2回目はbun checkより速い
消さずに続けて回すと順位が入れ替わる。tscは2回目から前回の結果を使い、テスト込みで0.11〜0.12秒になった。同じ条件のbun checkは0.16〜0.17秒で、tscのほうが速かった。
Honoのフォルダでは別の「check」が動いた 型は見ない
いちばんのつまずきは名前の重なりだ。Honoのpackage.jsonには「check」という名前のスクリプトがあり、フォルダの中でbun checkを打つとそちらの「vp check」が起動した。-pでtsconfigを指すと「Unexpected argument ‘-p’」のエラーになり、型チェックはできなかった。
別のフォルダから-pでtsconfig.jsonを指すと、bun checkの型チェックが動いた。checkはありがちな名前なので、CIの設定に書く前にpackage.jsonの中を見ておきたい。
まずCIで並べて回す エラーの件数をtscと突き合わせる
入れ替えは段階を踏むのが安全だ。今のtscを残したまま、同じプロジェクトでbun checkを並べて回すとよさそうだ。
- package.jsonに「check」という名前のスクリプトが無いかを見る
- あるならフォルダの外から-pでtsconfig.jsonを指して動かす
- tscとbun checkのエラーの件数と行を突き合わせる
- CIと同じまっさらな状態で、時間を5回ほど測って比べる
手元で何度も回すだけなら、前回の結果を使うtscで足りる場面もある。差が出るのは、キャッシュを持たないCIで毎回ゼロから型を見る使い方だ。
- 型チェック
- TypeScriptで書いたコードの型が合っているかを動かす前に検証すること。Bunではbun checkコマンドで行う
企業のAI導入を手伝っていると、AIに書かせたコードの確認待ちで開発が詰まる場面をよく見る。型チェックが3倍速くなれば、AIが出した修正を何度も回すCIの待ち時間はそのまま縮みそうだ。ただ今回のHonoのように、checkという名前のスクリプトを持つリポジトリでは別の命令が動く。導入する前に、CIの手順書へ書くコマンドをフォルダの外から-pで指す形に決めておきたい。手元で何度も回す用途なら、tscの使い回しのほうが速い場面もある。
- bun checkはtscの代わりになる?
- 型の検証だけなら置き換えの候補になる。BunはTypeScript 7.0.2の適合性テストを100%通し、72個のオープンソースで比べた違いは1か所だけだったと説明している。AInformationがHonoで試すと、出たエラー4件はtscとファイルも行も同じだった。tsconfig.jsonをそのまま読むので、設定を書き直さずに試せる。
- bun checkを打っても型チェックが動かないのはなぜ?
- package.jsonに「check」という名前のスクリプトがあると、そちらが動く。AInformationがHonoのフォルダで打つと「vp check」が起動し、-pの指定がエラーになった。このとき型チェックはできなかった。別のフォルダから-pでtsconfig.jsonを指すと、bun checkの型チェックが動いた。
- bun checkはどれくらい速い?
- Bunの公式はTypeScript 7より3倍以上速いとしている。AInformationがApple M4 ProのMacでHonoを5回ずつ測ると、テスト込みでtsc 7.0.2の0.66秒に対して0.20秒だった。本体だけでも0.31秒が0.10秒になった。ただしtscが前回の結果を使う2回目は0.11秒で、bun checkより速かった。
この記事の出典
補助資料
- [1]Publickeyこの記事の元にした報道
出典の最終確認日:2026年10月16日
