Vize

型チェックのパフォーマンス

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 を設定してください。