valgrind——Cachegrind分析CPU的cache命中率、丢失率,用于进行代码优化。

功能扩展1 Cachegrind

1.1 指令范式

单行最重要指令:
valgrind --tool= [default: memcheck]

sun@sun:~/workspace/deptrum$ valgrind --tool=
//table  查看工具
cachegrind   callgrind    drd          exp-bbv      exp-dhat     exp-sgcheck  
getoff       helgrind     lackey       massif       memcheck     none         

Run the Valgrind tool called toolname,
e.g. memcheck, cachegrind, callgrind, helgrind, drd, massif, dhat, lackey, none, exp-bbv, etc.

valgrind --tool=cachegrind ./build/bin/aurora300_runner ./data/d_aurora300/speckle.bmp --ir ./data/d_aurora300/ir.bmp --config ./data/d_aurora300/config/

1.2 cachegrind 指令,缓存和分支预测分析器。它可以帮助您使程序运行得更快。

1.2.1 指令范式
 valgrind --tool=cachegrind ./build/bin/aurora300_runner ./data/d_aurora300/speckle.bmp 

 
1.2.2 测试结果

在这里插入图片描述
生成的文件名: cachegrind.out.73262,就是callgrind生成的文件。

1.2.3 kcachegrind工具安装

首先安装运行分析函数时间的工具 kcachegrind
下载安装包 http://kcachegrind.sourceforge.net/,下载最新的 tar.gz 文件
解压文件,进入解压之后的目录,从 README 中可以找到安装方式,这里记录一下

cmake .
make -j8
sudo make install

中间过程中遇到的一些,cmake的时候出问题,找不到一个依赖包

CMake Error at /usr/local/share/cmake-3.12/Modules/FindKDE4.cmake:100 (message):
  ERROR: cmake/modules/FindKDE4Internal.cmake not found in
  /home/zhangying/.kde/share/apps;/usr/share/kde4/apps
Call Stack (most recent call first):
  CMakeLists.txt:5 (find_package)

sudo apt-get install kdelibs5-dev 

在 make install 的时候,如果没有加 sudo 也会报错

Install configuration: "RelWithDebInfo"
CMake Error at doc/cmake_install.cmake:49 (file):
  file cannot create directory: /usr/local/share/doc/HTML/en/kcachegrind.
  Maybe need administrative privileges.
Call Stack (most recent call first):
  cmake_install.cmake:42 (include)


Makefile:85: recipe for target 'install' failed
make: *** [install] Error 1

这个时候加上 sudo 就可以了,此时分析工具安装完成了,该分析工具是为了在 valgrind 跑完之后,会生成一个结果文件,该工具可以分析这个结果

使用 valgrind 跑程序

valgrind --tool=callgrind --separate-threads=yes ./runner
  • 0
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:岁月 设计师:pinMode 返回首页
评论 1

打赏作者

guoqiang_sunshine

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值