gprof分析c++程序性能

一. 使用方法

  1. 编译时添加-pg参数
g++ -pg main.cpp
  1. 如果程序是运行起来之后不会自动退出的,需要添加信号捕捉函数,进行exit
    在这里插入图片描述
  2. 程序运行一段时间后,ctrl+c或者kill掉进程
  3. 目录下会生成gmon.out文件,使用命令
gpfof -b -A -p -q ./ruku gmon.out > log.log

执行完之后,即可查看log.log中的内容

二. 使用局限

睡眠过多的进程,gprof很难分析其性能,原因是gprof以固定的周期对程序运行时间进行采样测量,当程序挂起时,gprof就不会对程序进行采样测量。
可以使用time进行基准测试,以查看所测试的进程花费的用户态、内核态的时间。

> time 
real	0m0.000s
user	0m0.000s
sys	    0m0.000s

三. 结果分析

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_36304757/article/details/124128287