Testing 如何解释“货台”的输出?

Testing 如何解释“货台”的输出?,testing,rust,measurement,Testing,Rust,Measurement,我用cargo bench对我的Rust项目进行了基准测试,并在结果中看到了许多数字。。。它们是什么意思 2个测试 测试台_少数_核心。。。试验台:26249920 ns/iter(+/-2836381) 测试台一个核心。。。试验台:6087923 ns/iter(+/-752064) 例如,对于测试台_now_core,我看到: 数字1=26 数字2=249 数字3=920 数字4=2 数字5=836 数字6=381 它们都是什么意思 我认为每个测试应该有两个数字:数学期望值(或平均值)

我用
cargo bench
对我的Rust项目进行了基准测试,并在结果中看到了许多数字。。。它们是什么意思

2个测试
测试台_少数_核心。。。试验台:26249920 ns/iter(+/-2836381)
测试台一个核心。。。试验台:6087923 ns/iter(+/-752064)
例如,对于
测试台_now_core
,我看到:

  • 数字1=26
  • 数字2=249
  • 数字3=920
  • 数字4=2
  • 数字5=836
  • 数字6=381
它们都是什么意思

我认为每个测试应该有两个数字:数学期望值(或平均值)和标准偏差。

这些数字是最大值和最小值之间的差值,使用以美国为中心的数字样式(使用逗号作为千位分隔符)表示

例如:

  • 中位数:26249920纳秒/国际热核实验堆
  • 最大最小值:2836381纳秒/国际热核实验堆
让中间值=使用的总中间值;
使用偏差=(bs.ns_iter_summ.max-bs.ns_iter_summ.min);
写(
产出,
“{:>11}ns/iter(+/-{})”,
fmt千年9月(中位数,“,”),
fmt(偏差,',')
)


请注意,有各种各样的统计工作,最明显的事实是,上下5%的样本被截断以减少异常值的影响。

您的示例确实显示了您每次测试所期望的两个数字:每次迭代的中位数和总偏差(即,
max-min
),单位为纳秒


请注意,对于大数字,美式英语的标准做法是以逗号分隔的3个数字为一组。例如,26249920通常写为26249920。

“我认为每个测试应该有2个数字”,事实上,正如您所期望的,每个工作台函数都有两个数字。你能说得更具体些吗?我编辑了这个问题,让它更具体一些。@Shepmaster你有关于这个的链接吗?这些数字看起来差异非常小,但对于标准偏差来说,它们看起来是正确的……看起来我们都错了。根据这些数字,实际上是中位数和总偏差(即
max-min
)!我的大脑一定是陷入了一种状态!