summaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
authorBrigid Smith <brigidsmith@google.com>2014-07-09 15:48:37 -0700
committerBrigid Smith <brigidsmith@google.com>2014-07-09 15:48:37 -0700
commit28417e6314768d057ab7ad7a0208f1af7597b4d6 (patch)
tree5a2eecba3d3d40a540a23c1b7b21c255af6a5a21 /benchmarks
parent430d5f93ceea2e5172144a05885c295dca51b876 (diff)
downloadbionic-28417e6314768d057ab7ad7a0208f1af7597b4d6.zip
bionic-28417e6314768d057ab7ad7a0208f1af7597b4d6.tar.gz
bionic-28417e6314768d057ab7ad7a0208f1af7597b4d6.tar.bz2
Added a __system_property_serial benchmark.
Change-Id: Ifc2116f26acb242f4dcdb6eefe128899a9dc63bb
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/property_benchmark.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/benchmarks/property_benchmark.cpp b/benchmarks/property_benchmark.cpp
index 0b0c47f..f330d7e 100644
--- a/benchmarks/property_benchmark.cpp
+++ b/benchmarks/property_benchmark.cpp
@@ -183,3 +183,29 @@ static void BM_property_read(int iters, int nprops)
delete[] pinfo;
}
BENCHMARK(BM_property_read)->TEST_NUM_PROPS;
+
+static void BM_property_serial(int iters, int nprops)
+{
+ StopBenchmarkTiming();
+
+ LocalPropertyTestState pa(nprops);
+
+ if (!pa.valid)
+ return;
+
+ srandom(iters * nprops);
+ const prop_info** pinfo = new const prop_info*[iters];
+
+ for (int i = 0; i < iters; i++) {
+ pinfo[i] = __system_property_find(pa.names[random() % nprops]);
+ }
+
+ StartBenchmarkTiming();
+ for (int i = 0; i < iters; i++) {
+ __system_property_serial(pinfo[i]);
+ }
+ StopBenchmarkTiming();
+
+ delete[] pinfo;
+}
+BENCHMARK(BM_property_serial)->TEST_NUM_PROPS;