【发布时间】:2011-05-22 22:51:44
【问题描述】:
我想知道在不同阶段测量 CGI Perl 代码执行持续时间的技术(编码、库、配置):
- 启动 Perl 解释器
- 开始运行 Perl 代码
- 为例程加载本地 Perl .pm 模块
- 完成运行代码
我对 3 和 4 特别感兴趣,我不相信我可以对 1) 或 2) 做很多事情,因为我不想尝试优化 Perl 解释器,我唯一能做的就是这里是将硬件升级到更快的机器和/或使用 mod_perl 而不是经典的 CGI。
使用 3) 加载本地 Perl 模块我想测量需要多长时间,但我不确定如何编写代码,因为我不知道(或不确定)如何在加载之前执行代码这些模块。如果我知道,那么我会记录它们加载前的时间,然后记录它们加载后的时间并计算差异。
4) 应该是最容易获得的,因为我会在执行开始和结束时记录时间(在变量中)。
我在 stackoverflow.com 上进行了搜索,发现:
- How can I speed up my Perl program? - 这是我希望在某些时候使用的。但我需要证明减少的时间(即速度提高,所以我需要能够首先测量)。工具 http://search.cpan.org/dist/Devel-NYTProf 看起来对分析我的源代码很有用,但我不确定它是否涵盖 3) 加载模块
- Does Perl language aim at producing fast programs at runtime? - 更多的是冗长的讨论而不是简洁的答案,但以后有时间读一读
包括谷歌搜索结果:
- http://www.testingreflections.com/node/view/3622 - 这里没有足够的信息
【问题讨论】:
标签: perl performance optimization time benchmarking