Microsoftは、プログラミング言語「TypeScript 7」の最新デモを公開しました。TypeScriptの設計者であるアンダース・ヘルスバーグ氏が登壇し、Go言語によるネイティブコード移植によってコンパイル速度が従来のTypeScript 6比で最大12倍以上に向上したことを実演しました。大規模なコードベースにおけるビルド時間が大幅に削減されます。
何が発表されたのか
Microsoftのテクニカルフェローであり、C#やTypeScriptの生みの親として知られるアンダース・ヘルスバーグ(Anders Hejlsberg)氏が動画に登壇し、次世代仕様となる「TypeScript 7」の最新コンパイラ性能を自らデモンストレーションしました。
従来のTypeScriptコンパイラ(tsc)はJavaScript/TypeScript自体で記述されており、Node.js環境上で動作する構造となっていました。これに対しTypeScript 7では、コンパイラおよび関連ツールのコアエンジンをGo言語によるネイティブコードへ完全移植する大きな構造転換が図られています。
動画内で示された検証結果によると、従来のTypeScript 6で約50秒を要していた大型プロジェクトのコンパイルが、TypeScript 7では5秒未満で完了します。これは単なるマイナーチェンジではなく、開発現場のビルドパイプラインの概念を根本から変革するメジャーアップデートです。
TypeScript 6との後換性を99.99%保持しながら、実行速度のみを10倍以上に引き上げるという、極めて実用的かつ影響力の大きい開発成果となっています。
発表された機能・アップデートの全容
1500万行規模の巨大コードベースを全コアで満遍なく並列処理
動画の冒頭、ヘルスバーグ氏は「お気に入りのスクリーンショットの一つ」として、Linux上のリソースモニタ(htop)の画面を提示しました。この環境は32コアCPUと128GBのRAMを搭載したビルドマシンであり、そこで1500万行に及ぶTypeScriptのコードベースをコンパイルしている状態を示しています。
画面に映し出された32個のCPUコアの稼働率は、すべてのコアが95%から98%という極めて高負荷な状態を維持しています。従来のNode.js単一プロセスによる処理では、どれほどコア数の多い高性能サーバーを導入しても、特定の1コアしか活用できずCPUリソースが無駄になる課題が存在していました。
TypeScript 7ではアーキテクチャの刷新により、マルチコアCPUの全演算リソースを限界まで使い切る並列実行性能を実現していることが可視化されました。
VS Codeの230万行ソースコードを用いたリアルタイム比較検証
高速化の具体的な実証として、姉妹プロジェクトであるエディタ「Visual Studio Code(VS Code)」の実ソースコードを用いたライブコンパイルが実施されました。VS Codeのコードベースは、約8,000個のファイル、合計約230万行(画面の診断出力では269万行の処理範囲)に達する極めて広大なTypeScriptアプリケーションです。
まず、従来型のTypeScript 6コンパイラ(tsc6)を使用し、型出力を行わない設定(-noemit -diagnostics)でコンパイルが実行されました。その結果、パース時間に8.54秒、型チェック時間に36.69秒を要し、全体のコンパイル時間は「47.45秒」となりました。大規模開発において、この40秒以上の待ち時間は開発者の集中力を削ぐ大きなボトルネックとなっていました。
TypeScript 7による標準実行で7.5倍のスピードアップを達成
続いて同じマシン環境上で、新アーキテクチャを採用したTypeScript 7(バージョン7.0.2)による実行が行われました。何ら特別なオプションを指定しない標準の実行状態において、型チェック処理は一瞬で進行し、全体の処理時間は「6.509秒」で完了しました。
この時点で、TypeScript 6との比較において約7.5倍の高速化が達成されていることが数値として示されました。さらに、画面上のログ出力(Parse time: 0.796s, Check time: 5.470s)が示す通り、ファイルを解析する構文解析(パース)の段階から型検証(チェック)の段階に至るまで、すべてのフェーズで処理時間が桁違いに短縮されていることが確認できます。
チェッカー数のチューニングによる最大12倍(4.52秒)への加速
ヘルスバーグ氏は「10倍速くなると申し上げましたが、その理由を説明します」と語り、さらなる設定の調整を実演しました。TypeScript 7はデフォルト状態において4つの型チェッカー(type checker)をスレッドとして立ち上げ、ファイルを分割して並行処理を行う設計となっています。
今回の検証用PCが16コアを搭載したマシンであることを踏まえ、コマンドライン上で「-checkers 12」というフラグを追加し、並列実行する型チェッカーの数を12に増やして再実行しました。
その結果、型チェック時間が3.092秒まで縮小され、トータルの処理時間は「4.527秒」を記録しました。これは従来の47.45秒に対して約12倍(12x)の高速化に相当します。開発者は手元のマシン環境のコア数に応じてパラメータを調整することで、ビルド時間を限界まで削り取ることが可能になります。
旧コンパイラと同等のメモリ消費量を維持する高効率設計
一般的に処理の並列化や高速化を行うと、メモリの使用量が飛躍的に増加するトレードオフが発生しがちです。しかしヘルスバーグ氏は、TypeScript 7のメモリ効率についても強いこだわりを明かしました。
デモ画面に表示されたメモリ割り当て値(Memory used)を確認すると、12並列で高速処理を行った場合でも、従来の単一スレッドで動作していた旧コンパイラとほぼ同等のメモリ領域しか消費していません。ネイティブコード化による構造体のメモリレイアウト最適化とポインタ処理により、リソースを無駄に食いつぶすことなく最高速度を叩き出す設計が完成しています。
性能・ベンチマーク
動画内のデモンストレーションで測定されたベンチマーク結果を、以下の表にまとめました。測定条件はVS Codeのソースコード(約230万行 / 約8,000ファイル)に対する型チェック処理(-noemitオプション適用)です。
| 項目・指標 |
TypeScript 6(従来版) |
TypeScript 7(標準設定) |
TypeScript 7(12チェッカー) |
出典 |
| コンパイラ基盤 |
JavaScript (Node.js) |
Go (ネイティブ) |
Go (ネイティブ) |
動画内発言 |
| 並列チェッカー数 |
1(単一スレッド) |
4(標準設定) |
12(指定設定) |
動画内コマンド |
| パース時間 |
8.54秒 |
0.796秒 |
0.091秒 |
画面診断ログ |
| 型チェック時間 |
36.69秒 |
5.470秒 |
3.092秒 |
画面診断ログ |
| トータル処理時間 |
47.45秒 |
6.509秒 |
4.527秒 |
画面診断ログ |
| 高速化倍率 |
1.0倍(基準) |
約7.5倍 |
約12.0倍 |
動画内解説 |
| メモリ効率 |
基準量 |
同等 |
同等(旧版とほぼ同等) |
動画内発言 |
競合ツール・関連プロダクトとの比較
JavaScript/TypeScriptのエコシステムにおいては、近年のビルド速度向上の波に乗り、RustやGoで記述されたサードパーティ製の高速化ツールが多数登場してきました。今回のTypeScript 7公式によるネイティブ移植を、既存の代表的なサードパーティツールと比較して考察します(※競合ツールの特徴は編集部注)。
| ツール名 |
開発元 / コミュニティ |
記述言語 |
型チェックの対応 |
公式互換性 |
特徴と評価 |
| TypeScript 7 |
Microsoft |
Go |
完全対応 |
99.99%(公式) |
本家公式によるネイティブコンパイラ。完全な型チェックと圧倒的な並列処理性能を両立。 |
| esbuild |
Evan Wallace氏 |
Go |
なし(型除去のみ) |
N/A |
トランスパイルおよびバンドルは超高速だが、型の正確性を検証する機能は持たない。 |
| SWC |
swcプロジェクト |
Rust |
なし(型除去のみ) |
N/A |
Next.js等に採用される高速コンパイラだが、esbuild同様に型チェックはtscに依存する。 |
| Biome / Oxc |
オープンソース |
Rust |
開発中・一部限定 |
開発中 |
統合ツールチェーンを目指すが、複雑な型パズルの検証互換性においては公式tscが不可欠。 |
これまで開発現場では、「esbuildやSWCで型を無視して超高速にビルドし、裏で重いtscを走らせて型チェックを行う」という二重の運用を強いられていました。TypeScript 7が型チェックそのものを5秒以下に短縮したことで、これらサードパーティツールを組み合わせる複雑なビルド構成を簡略化できる可能性が浮上しています。
料金・提供プラン
TypeScript 7は、従来バージョンと同様にMITライセンスに基づくオープンソースソフトウェア(OSS)として提供されます。
- 利用料金: 完全無料
- ライセンス: オープンソース(MIT License)
- 提供時期: 動画内では具体的な一般提供(GA)時期の日付指定はありませんが、バージョン7.0.2の動作ビルドを用いた実演が行われており、リリースに向けた最終段階にあることがうかがえます。
日本から使う方法
日本の開発者がTypeScript 7のネイティブコンパイラ技術を試すための基本的な手順と注意点は以下の通りです。
- パッケージマネージャーからの導入: 正式リリース後、またはプレビュー版(dev/betaチャンネル)において、
npm install typescript@next や npm install typescript@7 などのコマンドを実行して環境を構築します。
- 並列処理オプションの設定: 多コアCPU(Apple SiliconのMシリーズやAMD Ryzen、Intel Core i7/i9など)を搭載したPCで実行する場合、
tsc --checkers <コア数> のように設定を付与することで、手元環境の最大性能を引き出せます。
- 既存コードの移行検証: 99.99%の互換性がアピールされているため、既存の
tsconfig.json をそのまま引き継いでビルドを実行し、所要時間の変化を計測することが推奨されます。
誰にどう効くのか
ソフトウェアエンジニア・フロントエンド開発者
ローカル開発環境での保存から型エラー検出までのフィードバックループが劇的に短縮されます。40秒待たされていたビルドが4秒で終わるため、開発のコンテキストスイッチが激減し、コーディングの集中状態を維持しやすくなります。
企画・プロダクトマネージャー
CI/CDパイプラインにおける自動テストと型チェックの待ち時間が大幅に削減されます。これにより、機能追加やバグ修正のプルリクエストが即座に検証・マージされ、サービス全体のリリースサイクル(タイム・トゥ・マーケット)が向上します。
経営層・開発組織のリーダー(CTO/VPoE)
クラウド上のCIビルドサーバー(GitHub ActionsやAWS CodeBuildなど)の稼働時間を数分分の1に削減できるため、インフラコストの直接的な抑制につながります。また、開発者の待ち時間削減による生産性向上は、組織全体のエンジニアリングコストの最適化に直結します。
まとめ
TypeScript 7は、Go言語への移植と共有メモリ型の並列型チェックという技術革新により、コンパイル速度を最大12倍へ引き上げる大型アップデートです。
大型プロジェクトを抱えるチームほど、この高速化の恩恵をダイレクトに受けることになります。開発者はまず自社プロジェクトのビルド時間を計測し、TypeScript 7へのスムーズな移行に向けた依存ライブラリの整理を進めることが推奨されます。