summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
authorChris Adams <christopher.adams@nokia.com>2012-05-09 16:43:53 +1000
committerQt by Nokia <qt-info@nokia.com>2012-06-21 00:58:12 +0200
commitd8ad5161509d5fe58e67621a3deb48651e57b270 (patch)
tree44e69fef4b13d0c958c4ce238ec6c79a79cda3c0 /src/testlib
parent78a4c46842975f23cd0d9518eca8b341abbda0b5 (diff)
Add new benchmark metrics to testlib
QElapsedTimer provides nanosecond-resolution elapsed timing, which allows for finer granularity benchmark reporting. Also, clients may also wish to benchmark the memory usage of a particular component, but no metric currently exists which matches that requirement. This commit adds the WalltimeNanoseconds and BytesAllocated metrics to meet these needs. It is intended for manual use by clients via setBenchmarkResult() only. Change-Id: Ib37ada374e265c857eda02d047d51d436618e4a7 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qbenchmarkmetric.cpp15
-rw-r--r--src/testlib/qbenchmarkmetric.h4
2 files changed, 18 insertions, 1 deletions
diff --git a/src/testlib/qbenchmarkmetric.cpp b/src/testlib/qbenchmarkmetric.cpp
index e48375cb4c..bebd131f82 100644
--- a/src/testlib/qbenchmarkmetric.cpp
+++ b/src/testlib/qbenchmarkmetric.cpp
@@ -54,6 +54,13 @@
\value CPUTicks CPU time
\value InstructionReads Instruction reads
\value Events Event count
+ \value WalltimeNanoseconds Clock time in nanoseconds
+ \value BytesAllocated Memory usage in bytes
+
+ Note that \c WalltimeNanoseconds and \c BytesAllocated are
+ only provided for use via \l setBenchmarkResult(), and results
+ in those metrics are not able to be provided automatically
+ by the QTest framework.
\sa QTest::benchmarkMetricName(), QTest::benchmarkMetricUnit()
@@ -81,6 +88,10 @@ const char * QTest::benchmarkMetricName(QBenchmarkMetric metric)
return "InstructionReads";
case Events:
return "Events";
+ case WalltimeNanoseconds:
+ return "WalltimeNanoseconds";
+ case BytesAllocated:
+ return "BytesAllocated";
default:
return "";
}
@@ -108,6 +119,10 @@ const char * QTest::benchmarkMetricUnit(QBenchmarkMetric metric)
return "instruction reads";
case Events:
return "events";
+ case WalltimeNanoseconds:
+ return "nsecs";
+ case BytesAllocated:
+ return "bytes";
default:
return "";
}
diff --git a/src/testlib/qbenchmarkmetric.h b/src/testlib/qbenchmarkmetric.h
index e8514a4394..a95cdeadc0 100644
--- a/src/testlib/qbenchmarkmetric.h
+++ b/src/testlib/qbenchmarkmetric.h
@@ -58,7 +58,9 @@ enum QBenchmarkMetric {
WalltimeMilliseconds,
CPUTicks,
InstructionReads,
- Events
+ Events,
+ WalltimeNanoseconds,
+ BytesAllocated
};
}