我正在尝试了解 Callgrind 配置文件格式。我找到了 online description
在遇到“扩展示例”之前,我认为自己理解得很好:
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 行的代码被执行,其他函数也被调用。 “主”的包含成本为 420,这是自身成本 20 和调用成本之和。
当只有 func2 的自身成本已经是 700 时,'main' 的包含成本怎么会是 420?
最佳答案
好的,描述是错误的:当我粘贴这个例子并在kcachegrind中打开它时,它确实显示了820的总包含成本。这是有道理的。抱歉噪音。
关于profiling - Callgrind 配置文件格式包含/自费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100558/