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

描述如下:可以看到,在“main”中,仅执行了第 16 行的代码,其中还调用了其他函数。“main”的包含成本是 420,它是自身成本 20 和调用中花费的成本之和。

当只有 func2 的 self 成本已经是 700 时,'main' 的包含成本怎么可能是 420?

4

1 回答 1

1

好的,描述是错误的:当我粘贴这个示例并在 kcachegrind 中打开它时,它确实显示了 820 的总包含成本。这是有道理的。对不起,噪音。

于 2012-08-23T22:05:43.270 回答