Perl的代码分析工具

5

我需要测试Perl应用程序(文件操作,数据库操作等)。 我正在寻找一些针对Perl代码的性能分析工具。

是否有类似于Linux中的gprof的Perl代码性能分析工具?

3个回答

16

有些人可能会建议使用Devel::DProf作为最标准的方法,但如果你仔细看一下,它实际上是一个相当糟糕的解决方案。

现在Perl的最佳分析器是Devel::NYTProf

如果你在谷歌上搜索它,你会看到一些演示,展示它的能力。而且它的功能非常强大。


nytprof真是太棒了。一开始有点令人困惑,但使用它后,我成功将遗传算法的运行时间从20年缩短到了8小时! - Matthew Lock

7

Krish: 在你发问题之前,你应该至少查看基本文档。一个寻找东西的方法是使用perldoc -q <something>-q标志将通过FAQ进行关键字搜索。

因此,例如,perldoc -q profile

Found in /usr/local/lib/perl5/5.10.0/pod/perlfaq3.pod
   How do I profile my Perl programs?
       You should get the Devel::DProf module from the standard distribution
       (or separately on CPAN) and also use Benchmark.pm from the standard
       distribution.  The Benchmark module lets you time specific portions of
       your code, while Devel::DProf gives detailed breakdowns of where your
       code spends its time.

并且从那里开始延续下去。

5

与调试类似,性能分析最好由perl解释器本身完成。

这个网站将为您提供使用-d:DProf参数进行解释器性能分析以及如何使用它的概述。


我遇到了你文章中作者描述的完全相同的时间问题。我知道gprof,尝试解决我的Perl脚本的痛苦后,当我读到这篇文章时感到一种宽慰和证明。感谢提供链接。我<3 Stack Overflow。 - rsa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接