我正在使用 http://valgrind.org/docs/manual/cl-manual.html 分析我的申请。 但是我有一个关于它是o / p的问题
OR
我的猜测是什么 目前它在curl connect中显示90%的使用率。我认为哪个是i / o绑定过程。
所以我认为它显示了该函数调用中消耗的时间。
答案 0 :(得分:1)
文档中所述的valgrind的callgrind工具默认只启用了指令读取(Ir)。
工具本身不适合计算函数消耗的时间,请参考here。
为了获得时间和CPU使用率,我更喜欢在详细模式下在Unix中运行“time”命令
/ usr / bin / time -v
但是,我们可以使用其他实用程序,例如
来自doc === 的==片段
指令读取(“I1mr”/“ILmr”),数据读取访问(“Dr”)和相关高速缓存未命中(“D1mr”/“DLmr”),数据写入访问(“Dw”)和相关的高速缓存未命中通过启用
选项缓存未命中(“D1mw”/“DLmw”)- 缓存-SIM = YES
还可以获得其他实用程序,例如 执行条件分支和相关预测器未命中数(“Bc”/“Bcm”),执行间接跳转和跳转地址预测器相关未命中(“Bi”/“Bim”)通过启用选项
- 分支-SIM = YES
最后在callgrind_annotate实用程序的帮助下,我们得到了所需的输出文件。
==========
答案 1 :(得分:0)
它可以显示各种内容,指令计数(CPU时间的粗略代理),估计的循环计数(也是CPU时间的粗略代理),或各种估计的缓存命中/未命中计数。