性能分析工具gprof -linux
2014-06-18 16:02
351 查看
(转)性能分析工具gprof:
有一些程序设计工具,它可以告诉你程序执行的效率,整个程序的调用结构,函数调用关系等。这样的工具真的很有用。gprof就是这样的一个效率分 析工具,它能产生一份详细的列表,列出程序执行的一些统计值,其中包括每个函数被调用的频率,被谁调用,所花费时间等。要使用gprof,在用gcc编译 时要加上-pg参数。这个参数会在目的文件中加上gprof所需的信息,也会将执行文件连接上支持性能分析的函数库。你只要直接执行编译时加过-pg的程序即可,执行完毕后会在当前工作目录下产生一个gmon.out的文件,它记录了gprof所需的信息,我们可以用gprof来读取它。
$ gcc bintree.c -o bintree -pg
$ ./bintree
...
$ gprof bintree gmon.out
Flat profile:
Each sample counts as 0.01 seconds.
no time accumulated
% cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 28 0.00 0.00 print 0.00 0.00 0.00 7 0.00 0.00 btree_insert ...
gprof的输出信息相当冗长,上面省略了很多。由于上面的函数执行太快,而gprof的计时单位相当粗略,所以那些函数的执行时间都显示0.00秒。gprof能为我们提供不少有用的信息。
另一个常用的计时工具是time命令,它可以精确地测量程序运行时间。使用它只需在其后面 加上要测量的命令即可。比如:
$time ./test>/dev/null
显示如下,分别是实际耗时,用户级别耗时和系统级别耗时:
real 0m0.056s user 0m0.014s sys 0m0.006s
它还能格式化输出,还能测量输入/输出,消息数目,非常方便。还有一个更简单的calls程序,它只显示源代码中函数调用的树状结构。而strace能够显示程序执行时用到的系统调用,具体请参阅相关手册。
相关文章推荐
- Linux下性能分析工具和内存泄露检测工具的简介(Valgrind和gprof)
- linux性能分析工具gprof
- gprof---Linux程序性能分析工具
- linux性能分析工具之gprof
- Linux C++程序进行性能分析工具gprof使用入门
- linux 下gprof 和 oprofile 分析程序性能工具
- Linux C++程序进行性能分析工具gprof使用入门
- linux 下gprof 和 oprofile 分析程序性能工具 [转]
- gprof---Linux程序性能分析工具
- Linux性能分析工具
- 学会使用Linux性能分析工具
- linux性能分析工具sar,iostat,vmstat
- linux性能分析工具
- nmon:分析AIX和Linux性能的免费工具
- 学会使用Linux性能分析工具
- Linux 平台上的 Oprofile 性能分析工具
- 性能分析工具gprof介绍
- linux高级工具命令(三)使用gprof和oprofile查找性能瓶颈
- Linux 性能分析工具