C/C++性能测试工具

发布时间:2024-11-29 02:51

C++进阶:掌握STL和模板,参考《C++ Primer》 #生活技巧# #工作学习技巧# #编程语言学习路径#

C/C++性能测试工具---Valgrind

最新推荐文章于 2024-09-24 16:23:59 发布

晏九 于 2018-09-04 10:03:46 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

一、valgrind memcheck--内存错误检测器

可以检测下列与内存相关的问题:

未释放内存的使用对释放后内存的读/写对已分配内存块尾部的读/写内存泄露不匹配的使用malloc/new/new[] 和 free/delete/delete[]重复释放内存

 valgrind --tool=memcheck  ./a.out

二、 valgrind massif--堆分析器

监视程序内存分配。若是在运行程序中发现占用内存较多,想要知道使用内存较多的代码行,可以使用valgrind的massif工具

Massif是一个内存剖析工具。通过不断的取程序堆的快照来达到监视程序内存分配的目的。

valgrind --tool=massif ./a.out

 会生成一个massif文件,可以使用ms_print来解析这个输出文件

ms_print massif.out.32682(进程pid)

三、valgrind cachegrind--缓存和分支预测分析器

valgrind --tool=cachegrind ./a.out 

指令运行结果: 打印摘要信息

除打印信息外,还会将更详细的信息写入cachegrind.out.pid

cg_annotate cachegrind.out.pid

 四、valgrind callgrind--调用图缓存生成分析器

callgrind使用cachegrind的统计信息Ir(I cache reads, 即一条指令执行的次数)来统计程序中函数的调用情况,建立函数调用关系图,在运行结束后,会把结果写入callgrind.out.pid文件中

valgrind --tool=callgrind --separate-threads=yes ./a.out

 --separate-threads=yes 表示要查看多线程相关数据

这条指令会在当前目录下生成一个callgrind.out.pid文件

1. 查看文件

callgrind_annotate callgrind.out.pid

 结果示例  会给出Ir  文件:函数

2. 注解源文件

callgrind_annotate callgrind.out.pid XX.c

 会将XX.c的每一行代码调用次数标清楚

网址:C/C++性能测试工具 https://www.yuejiaxmz.com/news/view/307679

相关内容

[性能测试] Benchmarks(压力测试工具汇总)
网站性能并发测试工具
性能测试工具一之ab(一)
WIFI性能测试工具
软件测试工具之ab工具压力测试
Web压力测试工具:http
超实用压力测试工具-ab工具
redis压力测试工具
电脑C盘清理工具下载
HR常用的人才测评工具:职业能力测试,职业性格测试工具

随便看看