很多优秀的工具都能帮助我们分析程序的性能、内存使用情况、瓶颈等问题。这里不讲原理,只介绍工具,原理请移步。
valgrind
这个工具很强大,它集成了诸如memcheck、massif等的多个工具,可以分析很多东西,其中memcheck是最常用的工具,可以检测内存使用情况以及泄漏情况,分析后输出的内容也足够详细。
安装:sudo apt-get install valgrind
gprof
GNU工具,可以分析函数的消耗时间,调用关系等。需要编译器的帮助,即编译时要加一个选项gcc -pg ...
。
安装:sudo apt-get install gprof
gprof2dot
这是个python写的工具,可以将gprof的输出信息提取后转成一张图片,图片中会显示各个函数的调用关系,但是里面的信息就少了很多。
安装:sudo pip3 install gprof2dot
github仓库