如何准确地对C / C ++代码进行基准测试?

问题描述 投票:0回答:1

我问answers on this question,在我的回答中,我首先得到了循环前后的时间,并打印出它们的差异,但是作为@cigien答案的更新,似乎我已经进行了基准测试不预热代码可能会导致错误。

代码的预热是什么?我认为这里发生的事情是该字符串首先移到了缓存中,并使随后的循环的基准测试结果彼此接近。在我的旧答案中,第一个基准测试结果比其他基准测试结果要慢,因为将字符串移到缓存中花费了更多时间,我认为,对吗?如果没有,那么实际上是对代码进行预热,如果可能的话,一般来说,除了预热以获得更准确的结果外,我还应该做什么?或如何为C ++代码正确进行基准测试(如果可能的话,也可以是C)?

c++ c benchmarking
1个回答
0
投票

为了给您一个热身的例子,我最近对一些nvidia cuda内核调用进行了基准测试:

© www.soinside.com 2019 - 2024. All rights reserved.