real 0m3.269s
user 0m0.830s
sys 0m0.090s
其他 C/C++ 程序分析器
还有其他很多分析器可以使用gprof 的数据, 例如KProf (截屏) 和 cgprof。虽然图形界面的看起来更舒服,但我个人认为命令行的gprof 使用更方便。
对其他语言的程序进行分析
我们这里介绍了用gprof 来对C/C++ 的程序进行分析,对其他语言其实一样可以做到: 对 Perl,我们可以用Devel::DProf 模块。你的程序应该以perl -d:DProf mycode.pl来开始,并使用dprofpp来查看并分析结果。如果你可以用gcj 来编译你的Java 程序,你也可以使用gprof,然而目前还只支持单线程的Java 代码。
结论
就像我们已经看到的,我们可以使用程序概要分析快速的找到一个程序里面值得优化的地方。在值得优化的地方优化,我们可以将一个程序的运行时从 3分36秒 减少到少于 5秒,就像从上面的例子看到的一样。References
- Pathalizer: http://pathalizer.sf.net
- KProf: http://kprof.sf.net
- cgprof: http://mvertes.free.fr
- Devel::DProf http://www.perldoc.com/perl5.8.0/lib/Devel/DProf.html
- gcj: http://gcc.gnu.org/java
- : pathalizer example files: download for article371