草庐IT

QBENCHMARK

全部标签

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

如何使用QBENCHMARK执行多次迭代?例如我有这段代码:voidMyUnitTest::speedText(){QBENCHMARK{obj->foo();}}我看了文档,上面写着:ThecodeinsidetheQBENCHMARKmacrowillbemeasured,andpossiblyalsorepeatedseveraltimesinordertogetanaccuratemeasurement.Thisdependsontheselectedmeasurementback-end.我尝试使用默认值和-tickcounter,但两者都只显示一次迭代:默认(无参数):RE

c++ - 如何使用 QTest QBENCHMARK 宏结果作为单元测试中的参数

我正在使用Qt中的QTest编写一些单元测试。我还遇到了QBENCHMARK宏,它对其封装的代码进行基准测试。我正在运行我的单元测试并对一些代码进行基准测试。QBENCHMARK报告执行某些方法所花费的时间,这很好。我想在单元测试中使用执行时间,例如QVERIFY2()。我该怎么做?编辑:我目前正在做的是:voidUnitTest::benchmark(){QStringstr1=QLatin1String("Thisisateststring");QStringstr2=QLatin1String("Thisisateststring");QCOMPARE(str1.localeAw

第二章 性能瓶颈的分析与定位 (21)

基准测试    另一个我们可以使用的工具是基准测试;这种技术用于测量某些独立特性或某些合成的工作负荷。基准测试作为一种耳熟能详的技术,用于对比编程语言或SQL数据库的性能,在Qt编程中我们亦能用基准测试测量代码某些方面的性能。    QtTest模块的QBENCHMARK宏用于支持此类测量,即用来在一个测试例中对某些关键代码做基准测试,例如:    voidBechmarkTest::test1{        QBENCHMARK{            //codetobemeasured...        }    }    在此宏块内的代码将被反复运行,直到得出一个稳定而准确的测量值