Sun Studio 12: パフォーマンスアナライザ

関数レベルのメトリック: 排他的、包括的、属性

パフォーマンスアナライザが計算する関数レベルのメトリックには、排他的メトリック、包括的メトリック、および属性メトリックの 3 種類があります。

呼び出しスタックの一番下にのみ現れる関数 (リーフ関数) では、その関数の排他的および包括的メトリックは同じになります。

排他的および包括的メトリックは、ロードオブジェクトについても計算されます。ロードオブジェクトの排他的メトリックは、そのロードオブジェクト内の全関数の関数レベルのメトリックを集計することによって計算されるメトリックです。ロードオブジェクトの包括的メトリックは、関数に対するのと同じ方法で計算されるメトリックです。

関数の排他的および包括的メトリックは、その関数を通るすべての記録経路に関する情報を提供します。属性メトリックは、関数を通る特定の経路に関する情報を提供します。その情報は、どれだけのメトリックが特定の関数呼び出しが原因で発生したかを示します。呼び出しに関わる 2 つの関数を、呼び出し元および呼び出し先と呼びます。呼び出しツリーにおいて、それぞれの関数の属性メトリックは次の意味を持ちます。

メトリック間の関係は、次の等式で表すことができます。

メトリック間の関係を示す等式

呼び出し元または呼び出し先の属性メトリックと包括的メトリックを比較すると、さらに情報が得られます。

プログラムのパフォーマンス改善が可能な場所を見つける方法には、次のものがあります。