セルフ時間と合計時間

同カテゴリーの次の記事

ハードウェア・イベントベースのスタック・サンプリングでアプリケーションのパフォーマンスを解析

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Self Time and Total Time」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


インテル® VTune™ Amplifier は、特定のプロシージャーと関数内、そして (呼び出された) 子内で費やされた独立した解析時間を計算できます。これは、セルフ時間と合計時間の情報となります。[Bottom-up (ボトムアップ)] ウインドウにはセルフ時間のみが表示されます。[Top-down Tree (トップダウン・ツリー)] ウインドウと [Source (ソース)]/[Assembly (アセンブリー)] ウインドウには、セルフ時間と合計時間が表示されます。

セルフ時間

セルフ時間とは、特定のプログラムユニットで費やされた時間です。例えば、ソース行のセルフ時間は、アプリケーションがそのソース行で費やした時間を示します。セルフ時間は、関数のプログラムに与える影響を理解するのに役立ちます。1 つの関数の影響を検証することは、ボトムアップ解析とも言われます。

例えば、わずかな待機時間を伴うシングルスレッドのプログラムで、関数 foo() のセルフ時間は、プログラムの CPU 時間の10% です。関数 foo() を最適化して 2 倍高速化すると、プログラムの経過時間は 5% 向上します。

セルフ時間の並列アプリケーションの経過時間に与える影響は、個々のスレッドの使用率に依存します。特定の関数の実行時間をゼロに減らしても、アプリケーションの経過時間には影響しないこともあります。

合計時間

合計時間とは、プログラムユニットで発生した時間の合計です。関数の場合、その関数のセルフ時間に加えて、その関数から呼び出されたすべての関数のセルフ時間が含まれます。合計時間は、アプリケーションでどのように時間が費やされているのかを理解するのに役立ちます。関数とその呼び出し先の影響を検証することは、トップダウン解析とも言われます。

上位トピック: 主要な概念

関連項目

Elapsed Time (経過時間) (英語)

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • ユーザーモード・サンプリング/トレース収集ユーザーモード・サンプリング/トレース収集 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「User-Mode Sampling and Tracing Collection」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • General Exploration (一般解析) データを解釈するGeneral Exploration (一般解析) データを解釈する この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Interpreting General Exploration Data」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 結果の比較結果の比較 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Comparing Results」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 解析結果の表示 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewing Analysis Results」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • OS スレッドの移行OS スレッドの移行 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「OS Thread Migration」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]