TypeScriptが生まれ変わった——パフォーマンスの壁を一気に突破
Microsoftが、TypeScriptの大規模なアーキテクチャ刷新を公式に説明した。新版はGoで実装された新しいコンパイラによって、従来比で最大10倍のパフォーマンス向上を実現するという。単なるマイナーアップデートではない。フロントエンド開発者にとって長年の悩みの種だった「型チェックの遅さ」に、ついて本格的にメスが入ったのだ。
なぜ「10倍速」が生まれたのか
JavaScript→Go:言語レベルでの抜本的な再設計
従来のTypeScriptコンパイラ(tsc)はJavaScriptで実装されていた。Node.js上で動くため、起動コスト・メモリ効率・並列処理の面でどうしても限界があった。新実装ではGoを採用することで、ネイティブバイナリとして動作し、メモリ管理とCPU活用が根本から変わっている。
大規模なモノレポやエンタープライズ規模のTypeScriptプロジェクトでは、型チェックやビルドに数十秒〜数分かかるケースが珍しくない。この待ち時間がCIのボトルネックになったり、開発者の集中を途切れさせたりする問題は業界全体で認識されていた。
インクリメンタル処理と並列化の恩恵
新しいコンパイラは、差分のみを処理するインクリメンタル解析をより効率的に扱えるよう設計されている。また、マルチコアCPUを活かした並列型チェックが大幅に強化されており、コア数が多いマシンほど恩恵が大きくなる。
導入方法——新版は従来とは別コマンドで提供
Microsoftの公式説明によると、新しいネイティブTypeScriptコンパイラは既存のtscとは独立したバイナリとして提供される。npm経由で導入できるが、従来のtypescriptパッケージとは別のエントリポイントになる点に注意が必要だ。
出典: この記事は Microsoft explains how to download and install the new “10 times faster” TypeScript の内容をもとに、筆者の見解を加えて独自に執筆したものです。