我需要提高 Perl 应用程序的性能。如何找到慢点?
<小时/>这是 official perlfaq 的问题。我们是importing the perlfaq to Stack Overflow .
最佳答案
(这是 official perlfaq answer ,减去任何后续编辑)
Devel
命名空间有几个模块,您可以使用它们
分析您的 Perl 程序。 Devel::DProf模块随 Perl 一起提供,您可以使用 -d
开关调用它:
$ perl -d:DProf program.pl
在 DProf
下运行程序后,您将获得一个 tmon.out 文件
与配置文件数据。要查看数据,您可以将其转换为
使用附带的 dprofpp
程序生成人类可读的报告
开发::DProf
:
$ dprofpp
您还可以使用 -p
一步完成分析和报告
切换到dprofpp
:
$ dprofpp -p program.pl
Devel::NYTProf (纽约时报分析器)同时进行语句和子例程分析。它可以从 CPAN 获得,您还可以调用
使用 -d
开关:
$ perl -d:NYTProf some_perl.pl
像DProf
一样,它创建一个包含您的个人资料信息的数据库
可以变成报告。 nytprofhtml
命令将数据转换为
类似于 Devel::Cover 的 HTML 报告报告:
$ nytprofhtml
CPAN 还有其他几个分析器,您可以在同一个分析器中调用它们 时尚。您可能还对使用 C 感兴趣 测量并比较代码片段。
您可以在Perl 编程第 20 章中阅读有关分析的更多信息, 或掌握 Perl,第 5 章。
perldebguts如果需要,创建自定义调试器的文档 创建一种特殊类型的分析器。 Brian d Foy 描述了这个过程 Perl Journal,"Creating a Perl Debugger" ,和 "Profiling in Perl" .
Perl.com 有两篇关于分析的有趣文章:"Profiling Perl" , 作者:Simon Cozens,和 "Debugging and Profiling mod_perl Applications" ,作者:弗兰克·怀尔斯。
Randal L. Schwartz 在 "Speeding up Your Perl Programs" 中撰写了有关分析的文章用于 Unix Review 和 "Profiling in Template Toolkit via Overriding" Linux 杂志。
关于perl - 如何分析我的 Perl 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371714/