型チェックのパフォーマンス
vize check が遅い場合や、メモリを使いすぎる場合に使うガイドです。まずはデフォルトのまま
プロファイルを取り、設定は 1 つずつ変えてください。その他のオプションは
CLI の型チェックと型チェックのガイドを参照してください。
時間がかかっている場所を調べる
vpx vize check --profile
最後の行に、処理の段階ごとの時間が表示されます。
✗ Type checked 1 files in 624.27ms (collect: 105.94ms, imports: 0.00ns, gen: 114.51ms, corsa: 339.05ms)
| 段階 | 内容 |
|---|---|
collect |
tsconfig.json を読み込み、チェックするファイルを探す |
imports |
コンポーネント間の import をたどる |
gen |
各 .vue ファイルを仮想 TypeScript に変換する |
corsa |
生成したファイルに TypeScript のネイティブコンパイラー(Corsa)を実行する |
プロファイルの表と仮想ファイルは node_modules/.vize に書き込まれます。corsa が大半を占める場合は、
最後の注記に最も大きい生成ファイルが表示されます。多くの場合、そのコンポーネントを分割・単純化すると
速くなります。
実行を調整する
| 症状 | 試すこと |
|---|---|
| メモリを使いすぎる | --servers 1 で TypeScript のプロセスを 1 つにする |
| 大きなプロジェクトで CPU が余っている | --servers を指定しない。CPU 数とファイル数から自動で決まる |
1 つの大きなプロジェクトで corsa が長い |
--checkers 4 で各プロセス内のチェッカーを増やす(下の注意を参照) |
| 編集中に何度も実行する | check-server を起動したままにする |
vpx vize check --checkers 4 --servers 1
Warning
1 プロセスあたりのチェッカーを 2 つ以上にすると、診断が出なくなったり変わったりすることがあるため、 デフォルトは 1 です。CI で
--checkersを使う前に、デフォルトの出力と比べてください。
--checkers は正の整数を受け取り、環境変数 VIZE_CHECKERS より優先されます。--servers(1〜32)は
別々に起動する TypeScript プロセスの数で、自動で決める場合は各プロセス内のチェッカー数も考慮します。
すべての実行でサーバー数を固定する場合は vue.typeChecker.servers を設定してください。