インテル® VTune™ プロファイラー・ユーザーガイド

ホットスポット・ビュー

最も CPU 時間を要するプログラム単位を特定します。これはホットスポットと呼ばれます。ホットスポット・ビューポイントは、すべての解析結果で利用できます。

[ホットスポット] ビューポイントで利用可能なパフォーマンス・データを解釈するには、以下の手順に従ってください。

  1. パフォーマンスのベースラインを定義します。

  2. 最もホットな関数を特定します。

  3. アルゴリズムの問題を特定します。

  4. ソースを解析します。

  5. その他の解析タイプを調査します。

パフォーマンスのベースラインを定義する

[サマリー] ウィンドウで解析を始めます。ここでは、アプリケーションの実行に関連する一般的な情報が表示されます。経過時間は、アプリケーションの CPU 時間とは異なることに注意してください。経過時間はアプリケーションが開始されてから終了するまでの時間です。アプリケーションの CPU 時間は、アプリケーションを実行するすべてのスレッドのアクティブなプロセッサー時間の合計です。これには、待機時間は含まれません。

経過時間値をベースラインとして、最適化前後のバージョンを比較します。アプリケーションをチューニングする時に、スレッド数を増やすと経過時間は減少する傾向がありますが、CPU 時間は増加する可能性があります。

[ハードウェア・イベントベース・サンプリング] モードでホットスポット解析を実行すると、[サマリー] ウィンドウの解析メトリックにはマイクロアーキテクチャー使用メトリックが表示されます。このメトリックを使用して、ハードウェア・プラットフォーム上のコア効率を予測します。

このメトリック値に重要であることを示すフラグが示される場合、ハードウェア・メトリックをさらに詳しく調査するため、マイクロアーキテクチャー全般解析を検討してください。

最もホットな関数を特定する

[サマリー] ウィンドウの [上位ホットスポット] セクションで、最も時間を消費している関数を特定します。ホットスポット関数をクリックして、[ボトムアップ] ビューで呼び出しフローや関連するメトリックを調査します。

デフォルトでは、[ボトムアップ] ビューのデータは、CPU 時間で降順にソートされ、最も時間がかかる関数が最初に示されます。最も CPU 時間を消費している関数から最適化を開始します。

[CPU 時間] カラムを展開して、CPU 時間がどの程度効率的に使用されているか詳細を表示します。

CPU 利用率ビューポイントによるホットスポット: [ボトムアップ] ペイン

次に、最も [低い] 値のプログラム単位にチューニングの労力を集中します。これは、アプリケーションがプログラムユニットの実行中に CPU 時間を十分に活用できていないことを意味します。最適化の総合的な目標は、[理想的] (緑 ) または [OK] (オレンジ ) CPU 利用率状態を達成し、[低い] および [超過] CPU 利用率値を減らすことです。

ホットなコードパスを特定

[フレームグラフ] ウィンドウに切り替えると、アプリケーションの最もホットなコードパスを特定できます。各プログラムユニットと関連する呼び出し先関数で費やされた CPU 時間を解析します。

フレームグラフは、横軸にスタックプロファイルの母集団 (アルファベット順) を表示します。縦軸はスタックの深さを示し、最下部はゼロから始まります。フレームグラフの各要素の幅は、合計 CPU 時間に対する関数 (および呼び出し先) の CPU 時間のパーセンテージを表します。



アルゴリズムの問題を特定する

アプリケーション内の呼び出しシーケンスに関する問題を特定したら、関数呼び出しを変更することでパフォーマンスを向上できます。この方法を使用するには次を実行します。

ユーザーモード・サンプリング・モードでは、スタックデータはデフォルトで参照できます。このデータをハードウェア・イベントベース・サンプリング・モードにするには、ホットスポット解析設定で [コールスタック] オプションを有効にします。

ソースを解析する

最もホットな関数をダブルクリックして、関連するソースコードの [ソース/アセンブリー] ウィンドウを表示します。インテル® VTune™ プロファイラーから直接コードエディターを開いてコードを編集できます (例えば、ホットスポット関数の呼び出し回数を最小限に抑えるなど)。

次にすることは?

解析をデフォルトの [追加のパフォーマンス情報を表示] オプションで実行した場合、[サマリー] ビューにはハードウェア利用やベクトル化の効率など、ターゲットの追加メトリックを示す [詳しく調査] セクションが含まれます。この情報は、パフォーマンス解析の次のステップを明らかにし、最適化作業に集中すべき場所を特定するのに役立ちます。

関連情報