3

Callgrind プロファイル形式を理解しようとしています。オンラインの説明を見つけました

「拡張された例」に遭遇するまで、私はそれをかなりよく理解していると思っていました:

events: Instructions

fl=file1.c 
fn=main
16 20 
cfn=func1 
calls=1 50 
16 400 
cfl=file2.c 
cfn=func2 
calls=3 20 
16 400

fn=func1 
51 100 
cfl=file2.c 
cfn=func2 
calls=2 20 
51 300

fl=file2.c 
fn=func2 
20 700

説明は次のとおりです。「メイン」では、16行目からのコードのみが実行され、他の関数も呼び出されることがわかります。「メイン」の包括的コストは 420 です。これは、自己コスト 20 と呼び出しで費やされたコストの合計です。

func2 のみの自己コストが既に 700 である場合、「main」の包括的コストはどのようにして 420 になりますか?

4

1 に答える 1

1

OK、説明が間違っています。この例を貼り付けて kcachegrind で開くと、実際に合計コスト 820 が表示されます。これは理にかなっています。お騒がせしてすみません。

于 2012-08-23T22:05:43.270 に答える