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
)!我的大脑一定是陷入了一种状态!