确认程序性能瓶颈——程序剖析

Feb 04, 2010

程序剖析实际是在你的程序添加一些工具代码来确定程序的各个部分需要的时间,对于我们优化程序是非常必要的!

剖析可以一边运行程序,一边进行剖析,下面介绍unix下的剖析程序GPROF.GPROF不但可以确定程序中的每个函数花费了多少CPU时间,而且还可以计算函数调用的次数。

用GPROF进行剖析需要三个步骤,我们以byl.c为例来说明,byl.c运行时命令行参数为file.txt: 1.程序必须为剖析而编译链接。使用GCC,就是在命令行上简单的包括运行时标志“-pg”.

$ gcc -O2 -pg byl.c -o byl
2.然后像往常那样执行程序:
$ ./byl file.txt
它运行的慢些,并且产生一个文件gmon.out。 3.调用GPROF来分析gmon.out中的数据:
$ gprof byl

注:由于GPROF是基于间隔计时机制的,对于那些运行时间少于1s的程序来说,得到的统计数字只能看成是粗略估计。 默认情况下,对库函数的调用次数体现在调用函数的次数中。

Get In Touch With Us ...