目次

Cloudflareは、TypeScriptコンパイラのRust移植版であるtsrsを発表した。型チェックはTypeScript 7より最大8倍高速で、メモリ使用量は約70%少ないと報告している。Language Server Protocolへの対応を含むTypeScriptの全機能をサポートする予定だが、移行を検討する前に互換性を検証すべきだ。

主なポイント#

  • Cloudflareによると、GoベースのTypeScript 7と比べ、型チェックは最大8倍高速で、メモリ使用量は約70%少ない。
  • VoidZeroによると、tsrsはTypeScriptチームとの緊密な協力のもとで開発されており、TypeScriptのフォークではない。
  • WebAssembly対応によりブラウザとCloudflare Workersが実行環境となるが、実際にデプロイできる状態かは確認が必要だ。
  • TypeScriptの全機能、LSPへの対応、Oxcツールチェーンへの統合が計画されている。

tsrsが提供するもの#

2026年10月に発表されたtsrsは、TypeScriptコンパイラのツールチェーンにRust実装をもたらす。開発に関わるVoidZeroは、このプロジェクトをフォークではなく移植と説明している。

この区別は、独自の言語路線を確立するのではなく、TypeScriptと協調する意図を示している。ただし、それだけで、すべてのコンパイラオプション、診断、エディタ機能がすでに同じように動作するとはいえない。

tsrsを評価する当面の理由は、少ないメモリで型チェックを高速化できることだ。型チェックが継続的インテグレーションの実行時間の大きな割合を占めるプロジェクトでは、報告された改善幅を踏まえ、条件をそろえて比較する価値がある。

ベンチマークを慎重に読む#

Cloudflareが公開した型チェックのベンチマークでは、TypeScript 7比で最大8倍の高速化と、約70%のメモリ使用量削減が報告されている。これはベンダーによる報告値であり、すべてのリポジトリで同じ改善を保証するものではない。

比較にはTypeScript 7.1ベータ版も含まれている。提示されたレポートによると、このバージョンはTypeScript 7より約2.5倍高速だが、掲載された結果ではtsrsがさらに高速だ。したがって、見出しの「8倍」はTypeScript 7との比較として扱い、7.1に当てはめるべきではない。

提示された資料には、個々のプロジェクトの結果を予測できるほどのベンチマークの詳細はない。これらの数値を処理能力やコストの見積もりに使う前に、対象リポジトリ、コンパイラ設定、ハードウェア、メモリの測定方法を確認しよう。

自分のプロジェクトで試す#

VoidZeroは、実行を始めるためのコマンドとして次を挙げている。

snippet.txt
npx tsrs

破棄可能なチェックアウトや評価用ブランチを使い、実行前にパッケージの最新の手順を確認しよう。発表内容からは、tsrsが既存のTypeScriptのコマンドラインオプションやプロジェクト構成をすべてサポートしているとは確認できない。

有用な評価には、次の4つの確認が必要だ。

  • コンパイラの正確なバージョンを記録し、同じリポジトリのリビジョンを使う。
  • 報告されるエラーを、その位置や診断メッセージも含めて比較する。
  • 同等の条件で実行時間とピークメモリ使用量を測定する。
  • 測定を繰り返し、差が安定しているかを確認する。

実行が速くても、プロジェクトに必要なチェックを行っていなければ意味がない。実行時間の短縮を成功と見なす前に、欠落した診断や未対応の設定を調べよう。

ブラウザとWorkersへの対応#

RustはWebAssemblyにコンパイルできるため、tsrsをブラウザ上の開発ツールやCloudflare Workersで実行する道が開ける。VoidZeroの発表でも、この両環境が明示的に取り上げられている。

これにより、TypeScriptのツールをWebエディタの近くや、ホスト型の開発サービス内で実行できる可能性がある。CloudflareはWorkersでのRustのネイティブサポートも発表しており、関連する実行手段がもう一つ加わる。

これらの機能は、デプロイ先に応じた検証が引き続き必要だ。提示されたレポートでは、型チェック処理全体を実行する際のパッケージサイズ、起動時間、ファイルシステム要件、ランタイムの制限は明らかになっていない。ブラウザで実行できることと、本番利用可能なブラウザ開発環境が整うことは、別の到達点だ。

全機能への対応は今後の予定#

Cloudflareは、LSPを含むTypeScriptの全機能を単一パッケージでサポートする計画だ。VoidZeroも、tsrsがOxcツールチェーンの一部になると述べている。

これらはロードマップ上の公約として受け止めよう。提示された発表では、全機能やOxcとの統合が現時点で利用可能だとは確認できない。

エディタへの導入にあたっては、補完、ナビゲーション、名前変更、差分診断など、チームが使う具体的な機能を確認しよう。自分たちのコードベースでtsrsの十分な互換性を確認できるまでは、既存のコンパイラによる検証を必須の手順として維持する。

次のステップ#

ビルド設定を変更する前に、代表的なリポジトリで一度並行比較を行い、診断の違い、実行時間、ピークメモリ使用量を記録しよう。

出典: https://www.publickey1.jp/blog/26/cloudflaretypescriptrusttsrstypescript_7708lsptypescript.html

目次