パフォーマンスの問題を理解するには、そのホットスポットの原因である実際のマシン命令とソースコードを関連付けることが重要です。
インテル® VTune™ プロファイラーは、コードがデバッグ情報付きでコンパイルされ、デバッグ情報がバイナリーファイル (Linux* ターゲット)、またはデバッグ情報ファイル/シンボルファイル (Windows* ターゲット) に正しく書き込まれている場合、正確なソースコード解析が可能となります。
特定の項目のソース/アセンブリー・コードを開くには、[グリッド] ビュー/[コールスタック]/[タイムライン] ペインで選択した項目をダブルクリックするか、コンテキスト・メニューから [ソースの表示] オプションを選択します。
[ソース] ビューにアクセスする使用したルートに応じて、ペイン上のデータ表示が若干異なる場合があります:
グリッドで関数をクリックしてソース表示を開くと、インテル® VTune™ プロファイラーは、関数の最もホットな (ホットなメトリック値と共に) 行を [ソース/アセンブリー] ペインに表示します。
コールスタックをクリックすると、インテル® VTune™ プロファイラーはコールスタックの最上位の[呼び出し元] (の場所) をハイライトしてソースを開きます。呼び出し元は黄色の矢印 で示されます。
[タイムライン] ペインの待機をクリックすると、インテル® VTune™ プロファイラーは呼び出し元をハイライトして待機する関数を開きます。(スレッドデータの) 遷移をダブルクリックすると、シグナリング呼び出しサイトがハイライト表示されます。
[ソース/アセンブリー] ウィンドウは、別のタブで開きます。
![]() |
[ソース/アセンブリー] トグルボタン: インテル® VTune™ プロファイラーはシンボル情報が利用できるかどうかにより、デフォルトで [ソース] と [アセンブリー] のいずれかのペインを開きます。[ソース] または [アセンブリー]。ただし、ツールバーの [ソース] と [アセンブリー] の切り替えボタンでビューを管理し、必要または可能な場合は両方を有効にすることができます。 [ソース] と [アセンブリー] ペインに表示されるコンテンツは相関しています。1 つのペインで要素を選択すると、ほかのペインはその要素にスクロールしてハイライト表示します。 注
|
![]() |
[ホットスポット・ナビゲーション] ボタン: インテル® VTune™ プロファイラーは、この解析で設定された主要メトリックに基づいて、最もパフォーマンス・クリティカルなソースコードを開きます。最も高いメトリック値 (ホットスポット) のコード行へ移動するには、ツールバーの次のボタンを使用します。
|
![]() |
[ソース] ペインには、C、C++、Fortran などの高水準プログラミング言語で記述されたコードが表示されます。選択された関数のシンボル情報がある場合、[ソース] ペインが表示されます。 |
![]() |
[ホットスポット・ナビゲーション] メトリックカラム: デフォルトでは、ソースビューの表示はホットスポット解析の CPU 時間に基づいています。主要な解析メトリックのカラムがハイライトされます。ホットスポット・ナビゲーション・メトリックを変更するには、対象のカラムを右クリックして、コンテキスト・メニューから [ホットスポットのナビゲーションに使用] を選択します。 |
![]() |
[アセンブリー] ペインには逆アセンブルされた命令コードが表示されます。このコードは、プロセッサーによって実行されるアセンブリー命令の正確な順序を示します。[アセンブリー] ペインの命令は、基本ブロックごとにグループ化されています。特定の命令のヘルプを取得するには、グリッドで命令を選択して右クリックし、コンテキスト・メニューから [命令リファレンス] を選択します。 [アセンブリー] ペインでうまくナビゲーションを行うには、[アセンブリーのグループ化]ドロップダウン・メニューで[アドレス]、[基本ブロック/アドレス]、または [関数範囲/基本ブロック/アドレス] 粒度レベルを選択します。インテル® VTune™ プロファイラーは、選択された階層構造に応じて命令を折りたたみ可能なノードにグループ化して、[アセンブリー] ビューを更新します。 正しいデバッグ情報が利用できない場合、またはシンボルファイルが利用できない場合は、アセンブリー・データが正しく表示されない可能性があります。この場合、インテル® VTune™ プロファイラーは自身の持つヒューリスティックに従ってバイナリーモジュール内の関数境界を定義します。 |
![]() |
ヒート・マップ・マーカー: 垂直スクロールバーの右側にある青いマーカーを使用して、ホットスポット行をすばやく識別します (ホットスポット・ナビゲーションのメトリックに基づきます)。ホットスポットを表示するには、スクロールバーのスライダーをマーカーまで移動します。明るい青色のマーカー ( |
ターゲットをチューニングする場合、ソースコードの変更が必要である場合があります。インテル® VTune™ プロファイラーでは、ソース/アセンブリー・ウィンドウから直接ソースファイルを開いて修正できます。
ソースエディターを起動する。
[ソース] ペインで、修正したい行を選択します。
ソース行を右クリックして、コンテキスト・メニューから [ソースの編集] を選択するか、[ソース/アセンブリー] ツールバーの [ソース・ファイル・エディターを開く] ボタンをクリックします。
ソースコードは、システムのデフォルト・コード・エディターで開きます。たとえば、Linux* では、コードエディターは EDITOR 環境変数 (例: vi) または VISUAL 環境変数 (例: gedit、emacs) で定義されます。エディター・アプリケーションによっては、選択した行でコードが適切に開く場合があります。
コードの修正が完了したら、ターゲットを再ビルドして、変更後のバージョンをインテル® VTune™ プロファイラーの解析を再実行し、最適化の前後のパフォーマンス結果を比較します。
ソース/アセンブリー解析は、#line ディレクティブを含むソースではサポートされません。