最適化後にアプリケーションの呼び出しツリーがどのように変化したかを理解し、関数とその呼び出し先ごとのパフォーマンス・メトリックの違いを確認するには、[トップダウン・ツリー] サブタブをクリックして、[トップダウン・ツリー] ウィンドウを調べます。
比較モードでは、[トップダウン・ツリー] ウィンドウに 2 つの結果のデータカラムと、各プログラム単位の 2 つの結果の差分を示す新しいカラムが表示されます。差分は、<結果 1 の値> - <結果 2 の値> として計算されます。
比較モードの [トップダウン・ツリー] ウィンドウは、次の 2 つのグループ化レベルをサポートしています。
[関数スタック] の粒度は、関数のインスタンス別にデータをグループ化します。[開始アドレス] カラムで、同じソース関数または同じループの異なるインスタンスを特定します。
[ソース関数スタック] の粒度では、ソース関数別にデータをグループ化します。このモードでは、同じソース関数のすべてのインスタンスが 1 つの関数に集約されます。
関数 foo() は、アプリケーションの bar1() と bar2() の 2 つの場所から呼び出されます。結果 2 で foo() 関数が低速になった場合、[トップダウン・ツリー] ウィンドウ (比較モード) を使用して、どの呼び出し (bar1()、bar2() または両方) で低速になったかを確認します。
結果をスタックありとなしで比較するには、[コールスタック・モード] フィルターバー・オプションを [ユーザー/システム関数] に切り替えて、パフォーマンス・データがサンプルされた関数に関連付けます。