Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25142
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-21 11:31
文章分类

全部博文(9)

文章存档

2016年(4)

2015年(3)

2013年(2)

我的朋友

分类: C/C++

2016-11-15 16:05:07

一:性能分析
曾经在测试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
阅读(645) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~