【问题标题】:What statistical distribution is used to benchmark an algorithm?什么统计分布用于对算法进行基准测试?
【发布时间】:2014-08-11 20:16:04
【问题描述】:

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

【问题讨论】:

    标签: statistics benchmarking static-analysis


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这实际上取决于您的工作负载分配方式,因此您无法笼统地回答这个问题。

      但是有一个技巧:如果您向前迈出一步,进行几次迭代,每次迭代由 N 次调用组成,然后计算整个迭代的平均时间/吞吐量。然后,对于大 N 且跨调用一致的工作负载行为,迭代分数可能会受到Central Limit Theorem 的影响,这可以将它们变成正态分布。

      【讨论】:

        猜你喜欢
        • 2016-12-25
        • 1970-01-01
        • 1970-01-01
        • 2010-10-16
        • 1970-01-01
        • 2012-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多