From: Chris Adams Date: Wed, 9 May 2012 06:43:53 +0000 (+1000) Subject: Add new benchmark metrics to testlib X-Git-Tag: 071012110112~319 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8ad5161509d5fe58e67621a3deb48651e57b270;p=profile%2Fivi%2Fqtbase.git 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 Reviewed-by: Jason McDonald --- diff --git a/src/testlib/qbenchmarkmetric.cpp b/src/testlib/qbenchmarkmetric.cpp index e48375c..bebd131 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 e8514a4..a95cdea 100644 --- a/src/testlib/qbenchmarkmetric.h +++ b/src/testlib/qbenchmarkmetric.h @@ -58,7 +58,9 @@ enum QBenchmarkMetric { WalltimeMilliseconds, CPUTicks, InstructionReads, - Events + Events, + WalltimeNanoseconds, + BytesAllocated }; }