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 になりますか?