使用什么统计分布来对算法进行基准测试?

时间:2014-08-10 16:16:59

标签: statistics benchmarking static-analysis

我对我的算法进行了基准测试,运行了1000次。现在我有所有时间值,在这一点上,知道平均值,标准差,中位数会很有趣。问题是我不知道用于估计这些参数的正确统计数据。我不确定使用正态分布。

2 个答案:

答案 0 :(得分:1)

了解statistics。那里有很多书籍,指南,论文和介绍(1234
还有很多库实现了默认的统计方法:

还有最后一个提示:对于快速(初始)结果,我经常使用excel及其图表功能。它支持一些统计方法,您可以使用它们来查看可以继续的方向....

答案 1 :(得分:0)

这实际上取决于您的工作负载经历的分布情况,因此您无法对此进行一般性回答。

但是有一个技巧:如果你向前迈出一步,做几次迭代,每次迭代都包含N次调用,并计算整个迭代的平均时间/吞吐量。然后,对于跨调用的大N和一致的工作负载行为,迭代分数可能受Central Limit Theorem的约束,这可以将它们转换为正态分布。