作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对这段代码进行基准测试:
use Bench;
my $b = Bench.new;
say 'start';
my $i=0;
$b.timethese(100000, {
first => sub { while $i++ < 10000 { } },
second => sub { while $i++ < 10000 { } }
});
我收到这份报告:
Timing 100000 iterations of first, second...
first: 2.105 wallclock secs (1.786 usr 0.449 sys 2.235 cpu) @ 47502.644/s (n=100000)
second: 2.341 wallclock secs (2.012 usr 0.445 sys 2.458 cpu) @ 42710.876/s (n=100000)
总计大约 4.5“挂钟”秒。但根据我的秒表,大约需要 19 秒。这是什么原因?
最佳答案
爱爱:
Bench
模块使用¹ Telemetry
模块。
虽然 Telemetry
提供了非常精确的性能测量,但这样做会带来开销,并且与被测量代码消耗的时间/内存相比,该开销可能非常大。
如果没有 Telemetry
开销,Bench
报告的“wallclock”秒数 将会招致。
¹ 或者,更准确地说,try
s to require
关于raku - 为什么 Bench 模块的 "wallclock"秒报告如此离谱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71702070/
我正在对这段代码进行基准测试: use Bench; my $b = Bench.new; say 'start'; my $i=0; $b.timethese(100000, { first
我是一名优秀的程序员,十分优秀!