2011-09-30 70 views
1

我使用 http://valgrind.org/docs/manual/cl-manual.html 来分析我的应用程序。 但是我有一个问题关于它的O/P确实它显示关于callgrind输出

  1. 该功能

OR

  1. CPU消耗的函数调用
内内所消耗的时间

我猜的是 目前它在卷曲连接中显示90%的使用率。我认为哪个是I/O绑定的过程。

所以我认为它显示了该函数调用内部消耗的时间。

回答

0

它可以显示各种各样的事情,无论是指令数(CPU时间的粗略代理),估计周期数(也可用于CPU时间的粗略代理),或者不同种类的估计缓存命中/缺失计数。

1

如文档中所述,valgrind的callgrind工具只有指令read(Ir)默认启用。

该工具本身不适合用于计算由功能所消耗的时间,参考here

为了得到时间,CPU使用率,我更喜欢在运行Unix的 “time” 命令在详细模式

在/ usr/bin/time会-v

然而,我们可以得到其他公用设施等作为

==从doc ===

上指令高速缓存未命中读取( “I1mr”/ “ILMR”)代码段,数据的读访问( “DR”)和相关的高速缓存未命中( “D1mr”/ “DLmr”),数据通过启用的

选项--cache-写访问( “DW”)和相关的高速缓存未命中( “D1mw”/ “DLmw”) SIM = YES

也是其可能获得其他实用程序,如 执行条件分支和执行相关的预测失误(“BC” /“BCM”),数间接跳转和跳转地址预测的相关失误( “Bi”/“Bim”)通过启用选项

--branch-sim = yes

最后与callgrind_annotate工具的帮助下,我们得到想要的输出文件。

==========