我使用 http://valgrind.org/docs/manual/cl-manual.html 来分析我的应用程序。 但是我有一个问题关于它的O/P确实它显示关于callgrind输出
- 该功能
OR
- CPU消耗的函数调用
我猜的是 目前它在卷曲连接中显示90%的使用率。我认为哪个是I/O绑定的过程。
所以我认为它显示了该函数调用内部消耗的时间。
我使用 http://valgrind.org/docs/manual/cl-manual.html 来分析我的应用程序。 但是我有一个问题关于它的O/P确实它显示关于callgrind输出
OR
我猜的是 目前它在卷曲连接中显示90%的使用率。我认为哪个是I/O绑定的过程。
所以我认为它显示了该函数调用内部消耗的时间。
它可以显示各种各样的事情,无论是指令数(CPU时间的粗略代理),估计周期数(也可用于CPU时间的粗略代理),或者不同种类的估计缓存命中/缺失计数。
如文档中所述,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工具的帮助下,我们得到想要的输出文件。
==========