Perl 如何阅读NYTProf html报告?
我对由nytprofthml生成的Devel::NYTProf报告完全感到困惑。我使用的是NYTProf 1.90的旧版本。我知道这是一个非常旧的版本,但应该使用它的原因有很多 因此,这些HTML报告看起来有些奇怪 如下所示(查看特定的*.pl文件报告时): 我从未见过来自新版NYTPROFTML的报告,所以不确定它们看起来是否相同 在我的例子中,这一行是整个程序中最慢的部分(它不是一个小程序)。 所以我的问题是,这样的语句怎么能‘};’要成为程序中最慢的部分,语句要复杂得多。我想我误解了《纽约时报》的报道 如果我的问题令人困惑,请给我这些报告中每一列的定义,这会有帮助吗?这将有很大帮助 我特别感兴趣的是什么Perl 如何阅读NYTProf html报告?,perl,debugging,profiling,devel-nytprof,Perl,Debugging,Profiling,Devel Nytprof,我对由nytprofthml生成的Devel::NYTProf报告完全感到困惑。我使用的是NYTProf 1.90的旧版本。我知道这是一个非常旧的版本,但应该使用它的原因有很多 因此,这些HTML报告看起来有些奇怪 如下所示(查看特定的*.pl文件报告时): 我从未见过来自新版NYTPROFTML的报告,所以不确定它们看起来是否相同 在我的例子中,这一行是整个程序中最慢的部分(它不是一个小程序)。 所以我的问题是,这样的语句怎么能‘};’要成为程序中最慢的部分,语句要复杂得多。我想我误解了《纽约
Stmts
。意思是。我在猜,但我不想猜
提前感谢。
Stmts。
是执行语句的次数,或者更准确地说,是执行从与该行关联的语句移动到下一个执行语句的次数
Time
是执行与该行关联的语句所花费的时间总和
平均值
就是时间除以Stmts。
从中提取的这些内容可能有助于:
语句分析器测量输入一条perl语句和输入下一条perl语句之间的时间。每当执行到达一个新语句时,就会计算自输入上一个语句以来的时间,并将其添加到与上一个语句开始的源文件行关联的时间中。[……]
例如,假设:
while (<>) {
...
1;
}
while(){
...
1.
}
在第一次循环之后,任何花费在评估条件上的时间(在本例中等待输入)都将被记录为已经花费在循环中执行的最后一条语句上
NYTProf的最新版本有很多,通过截取适当的内部环路操作码,为这种情况提供了更准确的计时。另外。感谢Tim的回答和出色的工具。
while (<>) {
...
1;
}