summaryrefslogtreecommitdiffstats
path: root/src/testlib/qbenchmarkmeasurement.cpp
diff options
context:
space:
mode:
authorjasplin <qt-info@nokia.com>2009-12-17 06:43:05 (GMT)
committerjasplin <qt-info@nokia.com>2009-12-17 06:43:05 (GMT)
commita66af3b563a90e55015f7cfe7f04f8704ee7d402 (patch)
tree761229a1a920bac07f1ef4b55d238c79698bbc4a /src/testlib/qbenchmarkmeasurement.cpp
parent63c8293b60bb997d370a4ec343b7f04808969393 (diff)
downloadQt-a66af3b563a90e55015f7cfe7f04f8704ee7d402.zip
Qt-a66af3b563a90e55015f7cfe7f04f8704ee7d402.tar.gz
Qt-a66af3b563a90e55015f7cfe7f04f8704ee7d402.tar.bz2
Added QTest::setBenchmarkResult() to public API.
A benchmark result can now be registered explicitly using the QTest::setBenchmarkResult() function as an alternative to using a QBENCHMARK* macro. This gives benchmark writers the freedom to compute the benchmark result however they like and not be dependent on the automatic iteration/accumulation algorithm of a QBENCHMARK* macro. The function takes two arguments: a value and a metric. The value must be a non-negative real, while the metric is an enum type. WARNING: The set of available metrics include metrics for which a high value is considered better (i.e. faster) than a low value (one example is 'frames per second'). QTestLib currently does not distinguish between the two cases of "higher is better" and "lower is better", and leaves it to external tools (parsing the QTestLib output) to recognize them and do any necessary conversion. A tool that plots benchmark result history could e.g. convert all "higher is better" to "lower is better". For the 'frames per second' case, this would typically mean converting FPS to SPF (= 1/FPS). Reviewed-by: MortenS
Diffstat (limited to 'src/testlib/qbenchmarkmeasurement.cpp')
-rw-r--r--src/testlib/qbenchmarkmeasurement.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/testlib/qbenchmarkmeasurement.cpp b/src/testlib/qbenchmarkmeasurement.cpp
index f860454..6107b98 100644
--- a/src/testlib/qbenchmarkmeasurement.cpp
+++ b/src/testlib/qbenchmarkmeasurement.cpp
@@ -41,6 +41,8 @@
#include "QtTest/private/qbenchmarkmeasurement_p.h"
#include "QtTest/private/qbenchmark_p.h"
+#include "QtTest/private/qbenchmarkmetric_p.h"
+#include "qbenchmark.h"
#include <qdebug.h>
QT_BEGIN_NAMESPACE
@@ -77,14 +79,9 @@ int QBenchmarkTimeMeasurer::adjustMedianCount(int)
return 1;
}
-QString QBenchmarkTimeMeasurer::unitText()
+QTest::QBenchmarkMetric QBenchmarkTimeMeasurer::metricType()
{
- return QLatin1String("msec");
-}
-
-QString QBenchmarkTimeMeasurer::metricText()
-{
- return QLatin1String("walltime");
+ return QTest::WalltimeMilliseconds;
}
#ifdef HAVE_TICK_COUNTER // defined in 3rdparty/cycle_p.h
@@ -126,14 +123,9 @@ bool QBenchmarkTickMeasurer::needsWarmupIteration()
return true;
}
-QString QBenchmarkTickMeasurer::unitText()
-{
- return QLatin1String("ticks");
-}
-
-QString QBenchmarkTickMeasurer::metricText()
+QTest::QBenchmarkMetric QBenchmarkTickMeasurer::metricType()
{
- return QLatin1String("cputicks");
+ return QTest::CPUTicks;
}
#endif