チュートリアル: vcperf および Windows パフォーマンス アナライザー
C++ Build Insights ツールは、Visual Studio 2019 以降で使用できます。 このバージョンのドキュメントを表示するには、この記事の Visual Studio の [バージョン] セレクター コントロールを Visual Studio 2019 以降に設定してください。 このページの目次の一番上にあります。
このチュートリアルでは、vcperf.exe
を使用して C++ ビルドのトレースを収集する方法について説明します。 また、Windows パフォーマンス アナライザーでこのトレースを表示する方法についても説明します。
手順 1: Windows パフォーマンス アナライザーをインストールして構成する
WPA は、Windows アセスメント & デプロイメント キット (ADK) で使用できるトレース ビューアーです。 これは、Visual Studio インストーラーを使用してインストールできるコンポーネントの一部ではない、独立したユーティリティです。
C++ ビルド インサイトをサポートする WPA のバージョンは、Windows ADK 番号付き 10.1.19041.0 以降のバージョンでのみ使用できます。
WPA をダウンロードしてインストールするには
注: Windows パフォーマンス アナライザーをインストールする場合は、Windows 8 以降が必要です。
Windows ADK のダウンロード ページを参照してください。
Windows ADK の最新バージョンをダウンロードしてインストールします。
インストールする機能の入力を求められたら、[Windows Performance Toolkit] を選択します。 必要に応じて他の機能を選択することもできますが、WPA をインストールする必要はありません。
WPA を構成するには
WPA で C++ Build Insights トレースを表示するには、特別なアドインが必要です。 次の手順に従ってインストールしてください。
次のコンポーネントのいずれかをダウンロードして、アドインを入手します。 両方を入手する必要はありません。 最も便利なものを選択します。
- Visual Studio 2019 バージョン 16.6 以降。 最新バージョンについては、「Visual Studio のダウンロード」を参照してください。
- C++ Build Insights NuGet パッケージ。
perf_msvcbuildinsights.dll
ファイルを WPA インストール ディレクトリにコピーします。- Visual Studio 2019 バージョン 16.6 以降では、このファイルは
C:\Program Files (x86)\Microsoft Visual Studio\{Year}\{Edition}\VC\Tools\MSVC\{Version}\bin\Host{Architecture}\{Architecture}
にあります。 - C++ Build Insights NuGet パッケージでは、このファイルは
wpa\{Architecture}
にあります。 - 上記のパスでは、次のように中かっこで囲まれた変数を置き換えます。
{Year}
は、2019 や 2022 など、Visual Studio 製品年度です。{Edition}
は、Community、Professional、Enterprise などの Visual Studio のエディションです。{Version}
は MSVC のバージョンです。 入手できる中で最新のものを選択します。{Architecture}
: 64 ビット バージョンの Windows を使用している場合は、x64
を選択します。 それ以外の場合は、x86
を選択します。
- WPA のインストール ディレクトリは、通常は
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit
です。
- Visual Studio 2019 バージョン 16.6 以降では、このファイルは
WPA のインストール ディレクトリにある
perfcore.ini
ファイルを開き、perf_msvcbuildinsights.dll
のエントリを追加します。
手順 2: vcperf.exe を使用してビルドをトレースする
C++ Build Insights データを表示するには、まず、次の手順に従ってトレース ファイルに収集します。
管理者モードで、VS の x64 または x86 Native Tools コマンド プロンプトを開きます。 ([スタート] メニュー項目を右クリックして、[その他]>[管理者として実行] を選択します。)
- 64 ビット版の Windows を使用している場合は x64 を選択します。 それ以外の場合は x86 を選択します。
コマンド プロンプト ウィンドウで、次のコマンドを入力します。
vcperf.exe /start SessionName
SessionName のセッション名を選択し、覚えておきます。
通常どおりにプロジェクトをビルドします。 ビルドに同じコマンド プロンプト ウィンドウを使用する必要はありません。
コマンド プロンプト ウィンドウで、次のコマンドを入力します。
vcperf.exe /stop SessionNametraceFile.etl
以前に SessionName に選択したものと同じセッション名を使用します。 traceFile.etl トレース ファイルに適切な名前を選択します。
開発者コマンド プロンプト ウィンドウでの一般的な vcperf.exe コマンド シーケンスは次のようになります。
vcperf.exe に関する重要な注意事項
vcperf.exe トレースを開始または停止するには、管理者特権が必要です。 [管理者として実行] を使用して開いた開発者コマンド プロンプト ウィンドウを使用します。
マシン上で実行できるトレース セッションは一度に 1 つだけです。
トレースの開始に使用したセッション名を忘れないようにしてください。 名前がわからない場合、実行中のセッションを停止することが困難になる場合があります。
cl.exe と link.exe と同様に、コマンドライン ユーティリティ vcperf.exe は MSVC インストールに含まれています。 このコンポーネントを取得するために追加の手順は必要ありません。
vcperf.exe を使用すると、システムで実行されているすべての MSVC ツールに関する情報を収集できます。 そのため、トレースの収集に使用したものと同じコマンド プロンプトからビルドを開始する必要はありません。 別のコマンド プロンプトから、または Visual Studio からでもプロジェクトをビルドできます。
vcperf.exe はオープンソースです
独自のバージョンの vcperf.exe をビルドして実行する場合は、vcperf GitHub リポジトリから複製しても構いません。
手順 3: Windows パフォーマンス アナライザーでトレースを表示する
WPA を起動し、先ほど収集したトレースを開きます。 WPA ではこれが C++ Build Insights トレースとして認識され、左側の Graph エクスプローラー パネルに次のビューが表示されます。
- ビルド エクスプローラー
- ファイル
- 関数
- テンプレートのインスタンス化
これらのビューが表示されない場合は、手順 1 の説明に従って、WPA が正しく構成されていることを再確認します。 次に示すように、ビューを右側の空の分析ウィンドウにドラッグすることで、ビルド データを表示できます。
その他のビューは、Graph エクスプローラー パネルで使用できます。 表示されている情報に関心がある場合は、それらを [分析] ウィンドウにドラッグします。 便利なものとして、ビルド全体の CPU 使用率を示す CPU (サンプリングされた) ビューがあります。
詳細情報
チュートリアル: Windows パフォーマンス アナライザーの基本
ビルド トレースの分析に役立つ一般的な WPA 操作について説明します。
リファレンス: vcperf コマンド
vcperf.exe コマンド リファレンスには、使用できるすべてのコマンド オプションが掲載されています。
リファレンス: Windows パフォーマンス アナライザー ビュー
WPA の C++ Build Insights ビューの詳細については、この記事を参照してください。
Windows Performance Analyzer
WPA の公式ドキュメント サイト。