]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/platform-bionic.git/commitdiff
Add a couple more system call benchmarks.
authorElliott Hughes <enh@google.com>
Tue, 10 Jun 2014 01:35:21 +0000 (18:35 -0700)
committerElliott Hughes <enh@google.com>
Tue, 10 Jun 2014 01:35:21 +0000 (18:35 -0700)
Bug: 15387103
Change-Id: I13419ddf77d201fdbde4c784259c0cb0dcfb9a77

benchmarks/time_benchmark.cpp
benchmarks/unistd_benchmark.cpp

index 75132e50e595d3baa0afd0ab72076dfbbdb9a230..3bf8c07f6ce3b54ba9225446f7bb757cc39f450f 100644 (file)
@@ -35,4 +35,17 @@ static void BM_time_localtime_tz(int iters) {
   StopBenchmarkTiming();
 }
 BENCHMARK(BM_time_localtime_tz);
+
 #endif
+
+static void BM_time_clock_gettime(int iters) {
+  StartBenchmarkTiming();
+
+  struct timespec t;
+  for (int i = 0; i < iters; ++i) {
+    clock_gettime(CLOCK_MONOTONIC, &t);
+  }
+
+  StopBenchmarkTiming();
+}
+BENCHMARK(BM_time_clock_gettime);
index 12b788acd25dc28ed263824095a8dcad452ce751..f2c9d73cfa6de4aefaca4d79d4c3d400529c5a54 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "benchmark.h"
 
+#include <sys/syscall.h>
 #include <unistd.h>
 
 static void BM_unistd_getpid(int iters) {
@@ -39,3 +40,14 @@ static void BM_unistd_gettid(int iters) {
   StopBenchmarkTiming();
 }
 BENCHMARK(BM_unistd_gettid);
+
+static void BM_unistd_gettid_syscall(int iters) {
+  StartBenchmarkTiming();
+
+  for (int i = 0; i < iters; ++i) {
+    syscall(__NR_gettid);
+  }
+
+  StopBenchmarkTiming();
+}
+BENCHMARK(BM_unistd_gettid_syscall);