这是一个问题从official perlfaq.我们是importing the perlfaq to Stack Overflow。
解决方法
Devel命名空间有几个模块,您可以使用它们
剖析你的Perl程序。 Devel::DProf模块自带了Perl,您可以使用-d开关调用它:
$ perl -d:DProf program.pl
在DProf下运行你的程序后,你会得到一个tmon.out文件
与配置文件数据。要查看数据,可以将其转换为
可读的报告与dprofpp程序自带
Devel :: DProf:
$ dprofpp
您还可以使用-p在一个步骤中进行概要分析和报告
切换到dprofpp:
$ dprofpp -p program.pl
Devel::NYTProf(New York Times Profiler)同时进行语句和子程序分析。它可以从CPAN,你也调用
它用-d开关:
$ perl -d:NYTProf some_perl.pl
像DProf一样,它创建了一个你的配置文件信息的数据库
可以变成报告。 nytprofhtml命令将数据导入
类似于Devel::Cover报告的HTML报告:
$ nytprofhtml
CPAN有几个其他的profilers,你可以在同一个
时尚。你可能也有兴趣使用C
测量和比较代码段。
你可以阅读更多关于编程Perl中的profiling,第20章,
或Mastering Perl,第5章。
perldebguts文档创建自定义调试器如果你需要
创建一个特殊类型的分析器。 brian d foy描述了这个过程
在The Perl Journal,“Creating a Perl Debugger”和“Profiling in Perl”中。
Perl.com有两个有趣的文章:“Profiling Perl”,
作者:Simon Cozens,和“Debugging and
Profiling mod_perl Applications”,作者:Frank Wiles。
Randal L. Schwartz写了关于在“Speeding up Your Perl
Programs”为Unix审查和“Profiling in Template Toolkit via Overriding”为Linux杂志的分析。