代码cpu性能统计工具以及内存泄漏检测

本文介绍如何使用valgrind工具进行C++代码的性能分析及内存泄漏检测,并通过实例展示如何改善代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:性能分析
曾经在测试C++代码性能的时候发现代码执行效率比较低,完全没法满足需求,束手无策,后面经过TX的帮助进行定位,解决,颇有收获,遂记录之:
1.首先需要安装好callgrind工具,我安装的是valgrind-3.11.0版本(安装问百度吧)。
2.使用valgrind工具来执行代码,会生成一个callgrind.out.xxx的文件,其中xxx表示进程号
命令:valgrind --tool=callgrind ./a.out (单线程)
    valgrind --tool=callgrind --separate-threads=yes ./a.out (多线程)
3.然后使用kcachegrind-callgrind工具在windows下就可以看看哪些地方比较耗cpu,然后进行修订。

4.查看效果图


我遇到问题在图中就可以看出,使用C++中list容器进行删除操作相当耗cpu。于是改为set,性能瞬间提高。

二:内存泄漏检测

命令:valgrind --tool=memcheck --leak-check=yes  a.out

三:linux自带的分析工具gprof

这个工具使用时,需要在编译程序时携带-pg选项,然后执行一次程序,会生成相应的gmon.out文件,然后用gprof去查看结果。

例如:

Gcc -pg -o test test.c
./test
gprof -b test gmon.out |less

注:从本人chinaunix版过来滴,这个性能分析和内存泄漏检测工具个人觉得valgrind非常好用,而且有可视化工具查看结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值