gpt4 book ai didi

raku - 为什么 Bench 模块的 "wallclock"秒报告如此离谱?

转载 作者:行者123 更新时间:2023-12-05 05:43:57 41 4
gpt4 key购买 nike

我正在对这段代码进行基准测试:

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”秒数 将会招致。


¹ 或者,更准确地说,trys to require

关于raku - 为什么 Bench 模块的 "wallclock"秒报告如此离谱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71702070/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com