GPROF简介

原创 2007年10月05日 17:30:00
gprof介绍
gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。

为gprof编译程序
在编译或链接源程序的时候在编译器的命令行参数中加入“-pg”选项,编译时编译器会自动在目标代码中插入用于性能测试的代码片断,这些代码在程序在运行时采集并记录函数的调用关系和调用次数,以及采集并记录函数自身执行时间和子函数的调用时间,程序运行结束后,会在程序退出的路径下生成一个gmon.out文件。这个文件就是记录并保存下来的监控数据。可以通过命令行方式的gprof或图形化的Kprof来解读这些数据并对程序的性能进行分析。另外,如果想查看库函数的profiling,需要在编译是再加入“-lc_p”编译参数代替“-lc”编译参数,这样程序会链接libc_p.a库,才可以产生库函数的profiling信息。如果想执行一行一行的profiling,还需要加入“-g”编译参数。
例如如下命令行:
gcc -Wall -g -pg -lc_p example.c -o example

执行gprof
执行如下命令行,即可执行gprof:
gprof OPTIONS EXECUTABLE-FILE gmon.out BB-DATA [YET-MORE-PROFILE-DATA-FILES...] [> OUTFILE]

gprof产生的信息
%                         the percentage of the total running time of the
time                      program used by this function.
                            函数使用时间占所有时间的百分比。
cumulative           a running sum of the number of seconds accounted
seconds              for by this function and those listed above it.
                            函数和上列函数累计执行的时间。
self                     the number of seconds accounted for by this
seconds              function alone.   This is the major sort for this
                           listing.
                           函数本身所执行的时间。
calls                    the number of times this function was invoked, if
                           this function is profiled, else blank.
                           函数被调用的次数
self                    the average number of milliseconds spent in this
ms/call                function per call, if this function is profiled,
                          else blank.
                           每一次调用花费在函数的时间microseconds。
total                   the average number of milliseconds spent in this
ms/call                function and its descendents per call, if this
                           function is profiled, else blank.
                           每一次调用,花费在函数及其衍生函数的平均时间microseconds。
name                  the name of the function.   This is the minor sort
                           for this listing. The index shows the location of
                           the function in the gprof listing. If the index is
                           in parenthesis it shows where it would appear in
                           the gprof listing if it were to be printed.
                           函数名

 

用gprof分析性能初步

[+] 1 简介 GNU profiler(gprof)是GNU profiler工具。它可以为Linux平台上的程序精确分析性能瓶颈,它能够记录每个函数的调用次数,每个函数消耗的处理器时...
  • epeaktop
  • epeaktop
  • 2016年05月06日 14:47
  • 1135

使用gprof来对程序的性能分析总结

综述 gprof用于分析函数调用耗时,可用之抓出最耗时的函数,以便优化程序。gcc链接时也一定要加-pg参数,以使程序运行结束后生成gmon.out文件,供gprof分析。gprof默认不支持多...
  • benpaobagzb
  • benpaobagzb
  • 2016年06月17日 21:39
  • 2584

时间消耗分析-gprof

程序分析工具gprof介绍 程序分析是以某种语言书写的程序为对象,对其内部的运作流程进行分析。程序分析的目的主要有三点:一是通过程序内部各个模块之间的调用关系,整体上把握程序的运行流程,从而更好地理解...
  • scut1135
  • scut1135
  • 2013年10月31日 23:22
  • 1356

gprof 使用和介绍

一、gprof介绍        gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用...
  • lhh1113
  • lhh1113
  • 2016年11月07日 09:50
  • 228

gprof性能分析绝对不能猜测

在流媒体服务器中,需要存储直播数据,发送给客户端,由于客户端的网速不一定都是很快,所以需要一个数据结构来存储。 由于直播数据是视频和音频包,实际上是有时间序列的,那么用list最合适了,list需要...
  • winlinvip
  • winlinvip
  • 2013年02月23日 18:11
  • 1224

linux下的程序分析工具——gprof

GNU gprof是一款linux平台上的程序分析软件(unix也有prof)。借助gprof可以获得C程序运行期间的统计数据,例如每个函数耗费的时间,函数被调用的次数以及各个函数相互之间的调用关系。...
  • cbbbc
  • cbbbc
  • 2015年03月26日 16:01
  • 716

cygwin环境下gprof+gprof2dot+dot生成函数关系结构图

在linux环境下利用gcc/g++编译链接代码的时候,加入-pg选项,在执行文件后就会生成gmon.out,gmon.out记录了函数在cpu运行的时间和被哪些函数调用的次数,关于gprof的使用和...
  • cbbbc
  • cbbbc
  • 2015年03月26日 19:53
  • 1265

gprof、gprof2dot.py、dot使用方法简介

gprof、gprof2dot.py、dot使用方法简介
  • u012927281
  • u012927281
  • 2016年04月12日 12:18
  • 4001

性能分析工具gprof简介

#不知道这是在哪里找的了,感谢各位~ 性能分析工具gprof介绍 Ver:1.0 目录 1.    GPROF介绍    4 2.    使用步骤    4 3.    使用举...
  • lxylzlzs
  • lxylzlzs
  • 2013年06月04日 22:44
  • 559

程序分析工具gprof介绍

程序分析是以某种语言书写的程序为对象,对其内部的运作流程进行分析。程序分析的目的主要有三点:一是通过程序内部各个模块之间的调用关系,整体上把握程序的运行流程,从而更好地理解程序,从中汲取有价值的内容。...
  • suwei19870312
  • suwei19870312
  • 2013年12月30日 10:54
  • 778
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GPROF简介
举报原因:
原因补充:

(最多只允许输入30个字)