我对我的算法进行了基准测试,它运行了1000次。现在我有了所有的时间值此时知道均值,标准差,中位数会很有趣。问题是我不知道用什么统计数据来估计这些参数是正确的。我不确定是否使用正态分布
了解统计信息。有很多书、指南、论文和介绍(1,2,3,4)
也有很多库实现了默认的统计方法:
- Java Commons Math c++库,
- 当然还有很多其他的关于你使用的语言…
还有最后一个提示:为了快速(初始)结果,我经常使用excel及其图表功能。它支持一些统计方法,您可以使用这些方法来了解您可以继续使用的方向....
这实际上取决于您的工作负载所经历的分布,因此您将无法对这个问题做出一般的回答。
但是有一个技巧:如果您向前走一步,并进行几次迭代,每次由N个调用组成,并计算整个迭代的平均时间/吞吐量。然后,对于跨调用的大N和一致的工作负载行为,迭代得分可能服从中心极限定理,这可以将它们变为正态分布。