功能扩展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

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

  1. 使用valgrind检查cache命中率

    2019独角兽企业重金招聘Python工程师标准>>> Valgrind为一个debugging 和 profiling的工具包,检查内存问题只是其最知名的一个用途.今天介绍一下,v ...

  2. cache相关命中率的运算_计算机高速缓冲存储器(Cache)命中率的分析

    第 21 卷 第 3 期 河南教育学院学报( 自然科学版) Vol. 21 No. 3 2012 年 9 月 Journal of Henan Institute of Education ( Nat ...

  3. CPU与Cache、内存以及硬盘之间的数据交换

    今天一个同学问我一个问题,CPU与Cache.内存.以及硬盘之间是如何进行数据传输?我给同学了一个笼统的解释.当我再细想这个问题的时候,我发现这个问题并不是想的那么简单,而且想地越深会感觉细节的东西会 ...

  4. [存储器] 简述影响 Cache 命中率的因素

    简述影响 Cache 命中率的因素 摘要: 存储器是计算机的核心部件之一.由于 CPU 和主存在速度上的存在着巨大差 异, 现代计算机都在 CPU 和主存之间设置一个高速. 小容量的缓冲存储器 cac ...

  5. linux查看CPU高速缓存(cache)信息

    一.Linux下查看CPU Cache级数,每级大小 dmesg | grep cache 实例结果如下: 二.查看Cache的关联方式 在 /sys/devices/system/cpu/中查看相应 ...

  6. cache相关命中率的运算_Linux cache命中率查看

    一.需求与背景 LINUX主机上的内存很为user.buffer.cache这个大的块.经常在使用free -m查看时,会发现cache占去了大头,从理论上我们也一直都知道cache里存放的是系统上访 ...

  7. linux cpu监控方案,Linux性能优化和监控系列(二)分析CPU性能

    分析CPU性能 top命令提供了监控CPU性能的基本功能, 如果需要更加深入的挖掘CPU的性能问题, top所提供的信息不足以做到. 由于大多数人认为CPU性能是体现服务器性能的主要因素, 所以在遇到 ...

  8. 有关cache命中率的问题

    参考资料:<计算机组成原理>(第五版) 白中英等著 有关cache命中率的问题可以说是玩文字游戏,别上当就行 一.相关概念以及公式: ①cache命中率: 在一个程序执行期间,设Nc表示c ...

  9. linux内核学习6:Linux的CPU高速缓存cache和页高速缓存cache,buffer

    一.CPU高速缓存(cache) 参考:https://blog.csdn.net/u014470361/article/details/80060701 参考:https://blog.csdn.n ...

最新文章

  1. Splay ---- 区间翻转 区间最大值 区间加 P4146 序列终结者
  2. MFC的进程和线程,非正常终止
  3. mysql语句_Mysql语句
  4. 内核电源管理器已启动关机转换_Linux系统启动流程
  5. 陈桥五笔用户编号获取_用户群组分析
  6. 复习宝典之Maven项目管理
  7. 汽车之家基于 Flink + Iceberg 的湖仓一体架构实践
  8. CSS3属性之background
  9. 在线普通话转粤语发音_香港最新悬疑侦探剧福尔摩师奶,粤语知识好难
  10. 【python opencv 计算机视觉零基础到实战】二、 opencv文件格式与摄像头读取
  11. iOS开发造轮子 | 通用占位图
  12. Linux关机运行的脚本,Linux关机时执行指定脚本功能实现
  13. vs2015 + opencv3.4.0 + qt msvc2015_64-5.7.1 显示图像
  14. linux之安装模式的选择
  15. 【crawler笔记】R语言简单动态网页爬虫(rvest包)示例
  16. python pygame实现简单的网游
  17. Word 2010如何对论文中参考文献进行标注
  18. CDOJ 1131 男神的礼物 区间dp
  19. 基于AST抽象语法树的SQL注入检测 (2) -- 每周小结(01-02~01-08) - .Little Hann
  20. 快手的未来,没有宿华

热门文章

  1. 武汉大学计算机学院放假时间,计算机学院关于2019年学生放暑假的通知
  2. geany怎么创建文件夹_SAP事务码太多,记不住怎么办?
  3. vue 模板_简化版的 vue 页面模板语法
  4. C语言通路寻找,用C语言解决迷宫问题设计与寻找通路问题.pdf
  5. 如何启用计算机上的无线网络连接,告诉大家win10无线网络连接如何打开
  6. 成员变量和成员函数分开存储
  7. Linux镜像如何添加驱动,安装virtio驱动(Linux)
  8. HDU - 1269迷宫城堡 -强连通tanjar算法
  9. 图像的矩,以及利用矩求图像的重心,方向
  10. 天顶角Zenith方位角Azimuth