History log of /bionic/benchmarks/semaphore_benchmark.cpp
Revision Date Author Comments
a630784fe1124ae5956da2639f1b324c15365fa7 17-Feb-2016 Elliott Hughes <enh@google.com> Switch bionic over to google-benchmark.

Also removes the old benchmarking library.

(cherry picked from commit 281e06ba69ce6f591697acf65a24651050809920)

Bug: http://b/24803663
Change-Id: Idde5aa759b03d2b3cb51e32785beaf1c46476fa3
df4942c04a63ae6e4f5c78ece9f696d6b8b74d32 18-Feb-2015 Christopher Ferris <cferris@google.com> Refactor the benchmark code.

Changes:
- Modify the benchmarks to derive from a single Benchmark object.
- Rewrite the main iteration code. This includes changing the iteration
code to use the actual total time calculated by the benchmark as a basis
for determining whether there are enough iterations instead of using
the time it takes to run the benchmark.
- Allow benchmarks to take no argument, int, or double.
- Fix the PrettyInt printer for negative integers.
- Modify the max column width name to include the whole name including
the arg part.
- Reformat property_benchmark.cpp in line with the rest of the code.
- Modify a few of the math benchmarks to take an argument instead of
separate benchmarks for the same function with different args.
- Create a vector of regex_t structs to represent the args all at
once instead of when running each benchmark.

This change is in preparation for adding new math based benchmarks.

Tested by running on a nexus flo running at max using the new code
and the old code and comparing. All of the numbers are similar, but
some of the iterations are different due to the slightly different
algorithm used.

Change-Id: I57ad1f3ff083282b9ffeb72e687cab369ce3523a
5d064464f139cc0b5fed57e3c439d441ad946fe9 10-Feb-2015 Mark Salyzyn <salyzyn@google.com> bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait

This test reports the overhead of sem_post to sem_wake for a low thread count
and a high thread count.

Change-Id: Ic30dcc8a78d754979117446bf3a28b7575cabac7
7e50fb2a681c858ec7d85ff92e97794f41fd1f08 09-Feb-2015 Mark Salyzyn <salyzyn@google.com> bionic: benchmarks: Add BM_semaphore_sem_post

This test tries its best to report the producer side underlying futex
wake syscall overhead wthin sem_post. It does not measure the time it
takes for the wakeup to propagate to the consumer. It suffers from
clock_gettime syscall overhead, so subtract that. Lock the CPU speed
for consistent results as we may not reach >50% cpu utilization.

Change-Id: I02fa9dab2e6ac27202f0290115150bd3c8de00f2
b28e490b7350b21c5ae9e5b3bb3e082d8357a1b0 11-Mar-2014 Elliott Hughes <enh@google.com> Add various benchmarks.

These are based on ones from system/extras/tests/bionic/.

Change-Id: I7b1ae15a2ca5d1031a6a511d97b88125c1770047