コンカレンシー解析は、アプリケーション中で時間を費やしている場所と、利用可能なプロセッサー時間の活用状況を示します。コンカレンシー解析で提供されるパフォーマンス・データを解釈するには、次の操作を行います。
- アプリケーションの CPU 時間の使用率を予測します。
[Summary (サマリー)] ウィンドウまたはこの解析結果で提供されるアプリケーション・レベルのデータから確認します。経過時間と指定した数の実行スレッドと利用可能な CPU の使用状況を表したグラフを確認します。グラフのノードは、インテル(R) VTune(TM) Amplifier XE で定義されている OK (許容範囲) または Ideal (理想) 範囲内にあるのが理想的です。
- コンカレンシーが低い関数を特定します。
利用可能なプロセッサー時間を効率良く活用していない関数を特定するには、[Bottom-up (ボトムアップ)] ペインを確認します。
デフォルトでは、関数は Poor (低) プロセッサー使用率でソートされています。最もクリティカルな関数が最初に表示されます。[CPU Time (CPU 時間)] 列見出しで
ボタンをクリックすると、列を展開して使用率タイプごとの時間分布を確認できます。各使用率タイプの見出しを右クリックして [Set Column as Data of Interest (列を特定のデータに設定)] を選択すると、その列の値をほかのビューで計算 (例えば、[Call Stack (コールスタック)] ペインのスタックの割合) に使用できます。
CPU 使用率で Poor (低) (バー形式の場合は赤いバー
) の時間が最も長い関数の最適化を行います。次に、CPU 使用率で Over (高) (青いバー
) の時間が最も長いものを探します。
目標は、CPU 使用率が Poor (低) および Over (高) のものを短くし、Ideal (理想) (緑
) または OK (許容範囲) (オレンジ
) になるように最適化します。
- アルゴリズムの問題を特定します。
アプリケーションの呼び出しシーケンスに問題があることがあります。この場合、アプリケーションで関数を呼び出す方法を変更することで、パフォーマンスを向上できます。問題の可能性のある箇所を調べるには、次のような方法があります。
[Top-down Tree (トップダウン・ツリー)] ペインをクリックして、予期しない合計時間のクリティカル・セクションがあるかどうか確認します。
[Call Stack (コールスタック)] ペインでは、[Bottom-up (ボトムアップ)] / [Top-down Tree (トップダウン・ツリー)] ペインで選択したプログラムユニットのスタックのうち最も割合の高いものが表示されます。ナビゲーション・ボタン
を使用して、選択したプログラムユニットを呼び出したスタックの表示を切り替えることができます。バーは、選択したプログラムユニットで費やされた合計時間に対する現在表示されているスタックの割合を示しています。
[Call Stack (コールスタック)] ペインのドロップダウン・リストを使用して、異なるスタックのデータを表示することもできます。
- 次のステップ
- 最も時間を費やしている関数をダブルクリックして、[Source/Assembly (ソース/アセンブリー)] ウィンドウでコードを表示します。インテル(R) VTune(TM) Amplifier XE から直接コードエディターを開き、コードを編集 (並列化、競合の不均衡の是正または軽減など) できます。
- ロックと待機の解析では、アプリケーションが利用可能なプロセッサーを効率良く利用していない理由を知ることができます。