bri*_*foy 46
(这是官方的perlfaq答案,减去任何后续编辑)
该Devel命名空间有几个模块,你可以用它来分析你的Perl程序.该杰韦利:: DProf模块自带Perl和您可以用调用它-d开关:
$ perl -d:DProf program.pl
Run Code Online (Sandbox Code Playgroud)
运行您的程序后DProf,您将获得包含配置文件数据的tmon.out文件.要查看数据,您可以使用dprofpp随附的程序
将其转换为人类可读的报告Devel::DProf:
$ dprofpp
Run Code Online (Sandbox Code Playgroud)
您还可以通过-p
切换到一步来执行分析和报告dprofpp:
$ dprofpp -p program.pl
Run Code Online (Sandbox Code Playgroud)
该杰韦利:: NYTProf(纽约时报探查)同时做两语句和子程序剖析.它可以从CPAN获得,您也可以使用-d开关调用它:
$ perl -d:NYTProf some_perl.pl
Run Code Online (Sandbox Code Playgroud)
就像DProf,它创建了一个可以转化为报告的配置文件信息数据库.该nytprofhtml命令将数据转换为类似于Devel :: Cover报告的HTML 报告:
$ nytprofhtml
Run Code Online (Sandbox Code Playgroud)
CPAN还有其他几个可以以相同方式调用的分析器.您可能还有兴趣使用C来衡量和比较代码片段.
您可以在Programming Perl,第20章或Mastering Perl,第5 章中阅读有关分析的更多信息.
perldebguts文档如果您需要创建一种特殊的分析器,则创建一个自定义调试器.brian d foy描述了Perl Journal中的过程,"创建Perl调试器"和"Perl中的分析".
Perl.com有两篇关于性能分析的有趣文章:Simon Cozens的"Profiling Perl"和Frank Wiles的"Debugging and Profiling mod_perl Applications".
兰德尔·L·施瓦茨在写的剖析"加快你的Perl程序"对Unix的评论和"剖析在通过重写模板工具包"的Linux杂志.
Ran*_*rtz 13
我已经切换到使用Devel :: NYTProf,这是Perl组合的最佳分析,最初由纽约时报的人们提供.