最も CPU 時間を要するプログラム単位を特定します。これはホットスポットと呼ばれます。ホットスポット・ビューポイントは、すべての解析結果で利用できます。
[ホットスポット] ビューポイントで利用可能なパフォーマンス・データを解釈するには、以下の手順に従ってください。
[サマリー] ウィンドウで解析を始めます。ここでは、アプリケーションの実行に関連する一般的な情報が表示されます。経過時間は、アプリケーションの CPU 時間とは異なることに注意してください。経過時間はアプリケーションが開始されてから終了するまでの時間です。アプリケーションの CPU 時間は、アプリケーションを実行するすべてのスレッドのアクティブなプロセッサー時間の合計です。これには、待機時間は含まれません。
経過時間値をベースラインとして、最適化前後のバージョンを比較します。アプリケーションをチューニングする時に、スレッド数を増やすと経過時間は減少する傾向がありますが、CPU 時間は増加する可能性があります。
[ハードウェア・イベントベース・サンプリング] モードでホットスポット解析を実行すると、[サマリー] ウィンドウの解析メトリックにはマイクロアーキテクチャー使用メトリックが表示されます。このメトリックを使用して、ハードウェア・プラットフォーム上のコア効率を予測します。
このメトリック値に重要であることを示すフラグが示される場合、ハードウェア・メトリックをさらに詳しく調査するため、マイクロアーキテクチャー全般解析を検討してください。
[サマリー] ウィンドウの [上位ホットスポット] セクションで、最も時間を消費している関数を特定します。ホットスポット関数をクリックして、[ボトムアップ] ビューで呼び出しフローや関連するメトリックを調査します。
デフォルトでは、[ボトムアップ] ビューのデータは、CPU 時間で降順にソートされ、最も時間がかかる関数が最初に示されます。最も CPU 時間を消費している関数から最適化を開始します。
[CPU 時間] カラムを展開して、CPU 時間がどれだけ効率良く利用されたか詳細を表示します。
次に、最も [低い] 値のプログラム単位にチューニングの労力を集中します。これは、アプリケーションがプログラムユニットの実行中に CPU 時間を十分に活用できていないことを意味します。最適化の総合的な目標は、[理想的] (緑 ) または [OK] (オレンジ
) CPU 利用率状態を達成し、[低い] および [超過] CPU 利用率値を減らすことです。
[フレームグラフ] ウィンドウに切り替えると、アプリケーションの最もホットなコードパスを特定できます。各プログラムユニットと関連する呼び出し先関数で費やされた CPU 時間を解析します。
フレームグラフは、横軸にスタックプロファイルの母集団 (アルファベット順) を表示します。縦軸はスタックの深さを示し、最下部はゼロから始まります。フレームグラフの各要素の幅は、合計 CPU 時間に対する関数 (および呼び出し先) の CPU 時間のパーセンテージを表します。
アプリケーション内の呼び出しシーケンスに関する問題を特定したら、関数呼び出しを変更することでパフォーマンスを向上できます。この方法を使用するには次を実行します。
[トップダウン・ツリー] ペイン: ホットスポット関数の呼び出し元と呼び出し先の合計時間とセルフ時間データを解析して、この時間が最適化可能であるかどうかを判断します。
[コールスタック] ペイン: [ボトムアップ] または [トップダウン・ツリー] ペインで選択されているプログラム単位に最も関連するスタックを特定します。ナビゲーション・ボタン を使用して、選択したプログラム単位を呼び出す異なるスタックを確認します。関連性バーでは、選択したプログラム単位で費やされた合計時間に対する、表示されているスタックの関連性を示します。[コールスタック] ペインのドロップダウン・リストから、各種スタックデータを表示することもできます。
ユーザーモード・サンプリング・モードでは、スタックデータはデフォルトで参照できます。このデータをハードウェア・イベントベース・サンプリング・モードにするには、ホットスポット解析設定で [コールスタック] オプションを有効にします。
最もホットな関数をダブルクリックして、関連するソースコードの [ソース/アセンブリー] ウィンドウを表示します。インテル® VTune™ プロファイラーから直接コードエディターを開いてコードを編集できます (例えば、ホットスポット関数の呼び出し回数を最小限に抑えるなど)。
解析をデフォルトの [追加のパフォーマンス情報を表示] オプションで実行した場合、[サマリー] ビューにはハードウェア利用やベクトル化の効率など、ターゲットの追加メトリックを示す [詳しく調査] セクションが含まれます。この情報は、パフォーマンス解析の次のステップを明らかにし、最適化作業に集中すべき場所を特定するのに役立ちます。