Fak*_*ken 6 c++ windows performance x86
当准确地确定算法在我的程序中运行的速度时,我总是将QueryPerformanceCounter()与QueryPerformanceFrequency()一起使用,但是当我使用核心i5/7架构时会发生什么?
涡轮增压是否有可能突然在我的算法中间跳了一半,突然我的性能计时器不再准确,因为我的时钟频率不再是常数,或者这真的不是问题吗?如果这是一个问题,那么准确计算算法的更好方法是什么?
简而言之,是的,任何事情都有可能发生。现代 CPU 使得估计现实世界的性能变得非常困难。这不仅限于最新的 Intel x86-64 cpu,它同样适用于 8 位 PIC 微控制器以及介于两者之间的一切。
对此唯一合理的做法就是进行更多测试。您将需要执行多次重复测试,才能准确了解真实工作负载在真实硬件上的真实运行时性能。
另一方面,如果一种算法在相同硬件(“在我的机器上”)上优于另一种算法,那么它通常会在其他设置上给出类似的比较结果,尽管它可能会因常数因子而变化。