1、功能简介
它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目了然。在对程序做性能优化的时候,这个是很重要的,先把最耗时的若干个操作优化好,程序的整体性能提升应该十分明显,这也是做性能优化的一个最为基本的原则—先优化最耗时的。
2、安装
64位操作系统请先安装 libunwind库,32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。
sudo apt-get install libunwind-dev
下载软件 https://github.com/gperftools/gperftools
tar xf gperftools-2.5.tar.gz
cd gperftools-2.5
./configure
make
sudo make install
3、使用
方法有多种,但是咱们只使用一种就可以了,以下是我使用的方法
#include <gperftools/profiler.h>
int main(int argc, char *argv[])
{
ProfilerStart("out.prof");
xxxxxxxxxxxxxx;//应用程序代码
ProfilerStop();
return 0;
}
链接的时候加上 /usr/local/lib/libprofiler.so ,然后执行程序,退出程序以后,你会发现当前目录生成了一个文件out.prof,这个时候执行命令
pprof --text myApp out.prof
其中myApp是你的可执行程序.然后就可以看到执行结果了.注意看第二列就是你想要的结果.
别问我太多,我也刚学习用,其它的不会,今天加班,啥事儿也没有干,就搞这个玩了.