valgrind——Callgrind检测程序代码的运行时间和调用过程,程序分析性能。

本文介绍了如何使用Valgrind工具的Callgrind模块进行指令统计,并通过Kcachegrind进行性能分析。Callgrind可以按线程单独统计,并生成缓存模拟和调用图。安装Kcachegrind后,可以加载Callgrind生成的数据文件进行可视化浏览。此外,还提到了Windows环境下WinCacheGrind作为替代工具,以及Webgrind这种在线PHP脚本性能分析工具。

功能扩展1 callgrind

1.1 指令范式
valgrind --tool=callgrind --separate-threads=yes ./run

是指是否按线程来分别统计,如果不加,会将所有线程的结果打到一个文件里;否则会按线程分别打印到不同文件里。

1.2 install

sudo apt-get update -y
sudo apt-get install -y kcachegrind

ref:

1.3 分析工具Kcachegrind

Callgrind通过Valgrind框架使用运行时检测来进行缓存模拟和调用图生成。通过这种方式,甚至共享库和动态打开的插件也可以被分析。Callgrind生成的数据文件可以加载到KCachegrind中,用于浏览性能结果。但是包中还有一个命令行工具,可以从数据文件中获取ASCII报告,而不需要使用KCachegrind。

KCacheGrind windows 系統下的代替方案

  1. WinCacheGrind:可分析由xdebug產出的cachegrind.xxx檔,簡易版的kcachegrind。
  2. windows port of kcachegrind
    由原linux的kcachegrind,重新編譯在windows上可執行版,功能與linux kcachegrind相同。
  3. Webgrind:網頁版的callgrind,搭配xdebug可做即時線上做php script profile。
  4. 对应的win版本的工具,不影响数据结果的分析
  5. 官网Kcachegrind http://ceefour.github.io/wincachegrind/
    这里介绍一个图形化性能分析工具Kcachegrind
1.4 生成结果

在这里插入图片描述
执行显示命令:

 kcachegrind callgrind.out.493485

callgrind.out.76292-01

通过1.2 分析工具对1.3 生成结果进行分析。

1.5 更进一步的使用与分析可以参考文章请添加图片描述
1.6 参考资料

https://www.cnblogs.com/ZY-Dream/p/14357462.html
https://kcachegrind.github.io/html/Home.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大江东去浪淘尽千古风流人物

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值