gpt4 book ai didi

c - 对短代码进行可靠的性能测量

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:21 25 4
gpt4 key购买 nike

我正在尝试分析几组以不同方式实现同​​一算法的不同版本的函数。我增加了每个函数的运行次数,因此花在单个函数上的总时间大约为 1 分钟(以揭示性能差异)。

现在,多次运行测试会产生令人费解的结果。同一函数的多次执行之间存在巨大的可变性 (+- 50 %),因此几乎不可能确定哪个函数最快(这是测试的目标)。

在运行测试之前,我应该注意哪些特别事项,以便获得更顺畅的测量结果?如果做不到这一点,是否要多次运行测试并计算每个函数的平均值?

最佳答案

有很多东西要检查!

首先,确保您的函数实际上是受 CPU 限制的。如果是这样,请确保您已禁用所有 CPU 节流、turbo 模式和节能模式(在 BIOS 中)以进行测试。如果您仍然遇到问题,请尝试将您的进程固定到单个核心。也许也禁用超线程。

所有这一切的目标是确保您的代码在单核上热运行而不会受到太多干扰。如果您使用的是 Linux,则可以从可用内核的操作系统列表中删除一个内核并使用它(这样就不会干扰该内核)。

多次运行测试是个好主意,但使用平均值(算术平均值)则不然。相反,使用中值或最小值或其他一些不受异常值影响的度量。通常,偶尔的长时间测试运行可以完全放弃(除非您正在构建实时系统!)。

关于c - 对短代码进行可靠的性能测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com