Microsoft、TypeScriptのコンパイラをGo言語に移植し、処理速度を10倍高速化させる計画を明らかに:2025年中頃にβ版をリリースへ
Microsoftは、TypeScriptのコンパイラやツールなどをGo言語に移植する計画を明らかにした。この取り組みにより、大規模コードベースの処理速度が10倍高速化するケースもあるという。
Microsoftは2025年3月11日(米国時間)、TypeScriptのパフォーマンスを向上させる取り組みとして、TypeScriptのコンパイラやツールをGo言語に移植する計画を公式ブログで明らかにした。
Microsoftによると、コンパイラやツールをGo言語に移植することで、エディタの起動が劇的に改善される他、大規模コードベースのコンパイル時間が10倍短縮されるケースもあるという。
Microsoftは、TypeScriptコンパイラやツールをGo言語に移植する背景や、これによるパフォーマンスの改善について、次のように解説している。
Go言語に移植する理由は「大規模コードベースにおける処理速度の遅さ」
TypeScriptの最大の特徴は、優れた開発者体験を提供することにある。プロジェクトのコードベースが拡大するにつれて、TypeScriptの価値も高まる。だが、非常に大規模なコードベースの場合、TypeScriptのパフォーマンスが十分に発揮されないケースがあったと、Microsoftは指摘する。
「大規模プロジェクトに取り組む開発者は、プロジェクトの読み込み速度や型チェックの時間が長くなるという課題に対し、コンパイラが処理するコードを最小限に抑えることで、エディタの起動時間を短くするか、ソースコード全体を完全にコンパイルする代わりにエディタの起動時間が遅くなるというトレードオフを迫られていた。開発者が好むのは、変数を安全にリネームしたり、特定の関数の参照を全て見つけたり、コードベースを簡単にナビゲートしたりするといった作業を遅延なくできることだ」(Microsoft)
コンパイラのGo移植により、どれくらい速くなるのか
Microsoftは、TypeScriptコンパイラである「tsc」と、Go言語に移植されたバージョンを用いて、GitHubで公開されているさまざまな人気プロジェクトのコードベースのコンパイル速度を次のように比較している。
プロジェクト | コード行数 | 現在 | 移植後 | 処理速度の差 |
---|---|---|---|---|
Visual Studio Code | 150万5000 | 77.8秒 | 7.5秒 | 10.4倍 |
Playwright | 35万6000 | 11.1秒 | 1.1秒 | 10.1倍 |
TypeORM | 27万 | 17.5秒 | 1.3秒 | 13.5倍 |
date-fns | 10万4000 | 6.5秒 | 0.7秒 | 9.5倍 |
IRPC(サーバ+クライアント) | 1万8000 | 5.5秒 | 0.6秒 | 9.1倍 |
rxjs(observable) | 2100 | 1.1秒 | 0.1秒 | 11.0倍 |
「開発者の時間の大半はエディタで費やされるため、エディタのパフォーマンスは最も重要だ。『Visual Studio』や『Visual Studio Code』のようなエディタは、基盤となる言語サービスが高速であればあるほど、優れたパフォーマンスを発揮する。この移植により、信じられないほど高速なエディタ体験をできるようになるだろう」(Microsoft)
今後のTypeScriptの開発計画はどうなるのか
Microsoftによると、今後、TypeScriptは大きく分けて以下の2つのバージョン(仮称)で開発や提供を進める計画だという。
- 「TypeScript 6」:JavaScriptベースのコンパイラが含まれるTypeScriptであり、今後リリースされる移植版と整合性を維持するため、幾つかの機能の廃止や変更が実施される
- 「TypeScript 7」:TypeScriptコンパイラをGo言語に移植したTypeScriptであり、TypeScript 6との互換性が十分に確保された時点でリリースされる。型チェックやビルドの処理速度が大幅に向上する
「リリースと同時にTypeScript 7に移行できるプロジェクトもあれば、特定のAPI機能やレガシーな設定、その他の制約によってTypeScript 6を使用しなければならないプロジェクトもあるだろう。TypeScript 7以上が十分に成熟し、採用されるまで、6.xバージョンのコードベースを維持していく。移植は現在も進行中であり、β版がリリースできるようになった時点で詳細を発表する計画だ」と、Microsoftは述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「TypeScript 5.8」正式版公開 Node.jsとの統合強化など新機能は?
MicrosoftはTypeScript 5.8の正式版を発表した。「require()」を使用したESMのサポートや、新しい「--module node18」フラグなどが追加された。有望な言語トップ3「TypeScript」「Rust」もう一つは? JetBrains2024年開発者向け調査
JetBrainsは、開発者エコシステムの現状をまとめた8回目の年次調査レポート「The State of Developer Ecosystem 2024」を発表した。JavaScript/TypeScript実行ランタイム「Deno 2」公開 2024年11月からLTSをリリースへ
Googleの「V8」JavaScriptエンジンで動作するJavaScript/TypeScript実行ランタイム「Deno」の最新版となる「Deno 2」が公開された。