gpt4 book ai didi

c++ - 强制 QBENCHMARK 执行多次迭代

转载 作者:可可西里 更新时间:2023-11-01 11:28:07 27 4
gpt4 key购买 nike

如何使用 QBENCHMARK 执行多次迭代?

例如我有这段代码:

void MyUnitTest::speedText()
{
QBENCHMARK {
obj->foo();
}
}

我看了文档,上面写着:

The code inside the QBENCHMARK macro will be measured, and possibly also repeated several times in order to get an accurate measurement. This depends on the selected measurement back-end.

我尝试使用默认值和 -tickcounter,但两者都只显示一次迭代:

默认(无参数):

RESULT : MyUnitTest::speedText():
89 msecs per iteration (total: 89, iterations: 1)

使用-tickcounter:

RESULT : MyUnitTest::speedText():
210,246,493 CPU ticks per iteration (total: 210,246,493, iterations: 1)

其他 2 个不起作用 - -callgrind 仅适用于 Linux,而 -eventcounter 似乎会导致单元测试终止。

那么有没有办法让QBENCHMARK做不止一次的迭代呢?

最佳答案

QBENCHMARK 只要迭代耗时超过某个固定阈值(阈值取决于所选后端),就只运行一次。

为了强制QBENCHMARK 执行多次迭代,您需要设置command line option -迭代 10

关于c++ - 强制 QBENCHMARK 执行多次迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29161974/

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