summaryrefslogtreecommitdiff
path: root/benchmarks/bionic_benchmarks.cpp
AgeCommit message (Collapse)Author
2020-02-19benchmarks: add 16 and 32 bytes to common sizesJake Weinstein
Per Wilco Dijkstra at ARM, 16 and 32 byte copies are much more common than 8 or 64. Change-Id: I3699d8bcd5f9dd8a8ccd8564a6cf58d2bd7089f5 Suggested-By: Wilco Dijkstra <wilco.dijkstra@arm.com>
2018-08-11Add option to define ranges sets for benchmarksAdhemerval Zanella
This patch add an option to use the pre-define set of ranges along with macros AT_ONEBUF_MANUAL_ALIGN_* and AT_TWOBUF_MANUAL_ALIGN1_*. The size argument can be either a number or a string representing the sets of values: * SMALL for values between 1 and 256. * MEDIUM for values between 512 and 128KB. * LARGE for values between 256KB and 2048KB. Test: Ran new string test suite with a single bionic iteration. Change-Id: Ieda81ee9a5019991b0b2f97d4ca3a237127c5848
2018-08-02Modernize codebase by replacing NULL with nullptrYi Kong
Fixes -Wzero-as-null-pointer-constant warning. Test: m Bug: 68236239 Change-Id: I5b4123bc6709641315120a191e36cc57541349b2
2018-07-07Change args to int64_tHaibo Huang
The new benchmark framework uses int64_t for args. Related benchmark change: https://github.com/google/benchmark/commit/9913418d323e64a0111ca0da81388260c2bbe1e9#diff-b9f55422dc0bd52759c6aaa25c305bb0R757 Upgrade benchmark framework: https://android-review.googlesource.com/c/platform/external/google-benchmark/+/714118 Test: compile and run bionic benchmark Change-Id: I1b81c853c28abbead1816bf0be7a20a35e036619
2018-06-19Add sinf/cosf/sincosf benchmarkAdhemerval Zanella
Similar to expf/exp2f, this patch add two benchmarks for sinf, cosf, and sincosf: one which measures thoughput as default and one which measures latency. The input in 512 random value divided in 8 ranges: 1. 0.0 <= x < 0.1 2. 0.1 <= x < 0.7 3. 0.7 <= x < 3.1 4. -3.1 <= x < 3.1 5. 3.3 <= x < 33.3 6. 100.0 <= x < 1000.0 7. 1e6 <= x < 1e32 8. 1e32 < x < FLT_MAX Test: ran 32-bit and 64-bit x86 tests on host Change-Id: I92bc2f1fac911c573c5122911d08ca590311578a
2018-05-04Fix bug in --bionic_cpu option handling.Christopher Ferris
Make sure that all the variables are properly initialized. Remove the code that verifies the core to enable using get_schedaffinity since that make it impossible to change the cpu for different tests. Change the cpu_to_lock to an int, it really didn't need to be a long. Fix a few missing tests. Test: Ran unit tests. Test: Built the tests and ran on different cpus, verifying that the Test: chosen cpu was correct. Test: Created an xml file that had different cpus for different tests Test: and verified that it locked to each cpu properly. Change-Id: Ie7b4ad8f306f13d6e968d118e71bb5dc0221552a
2018-01-19Address a bunch of clang-tidy complaints.Elliott Hughes
There were a bunch more unreasonable/incorrect ones, but these ones seemed legit. Nothing very interesting, though. Bug: N/A Test: ran tests, benchmarks Change-Id: If66971194d4a7b4bf6d0251bedb88e8cdc88a76f
2018-01-08Remove workaround for running property tests.Christopher Ferris
Also fix the tests for some missing benchmarks that have been added recently. Test: Ran bionic benchmarks tests and all pass. Test: Ran bionic benchmarks to verify that there are no crashes. Change-Id: I8501553e8a229c0c6ea81e894e91ac2f5f2fe26c
2017-11-30Add new benchmark options.Christopher Ferris
Add a bunch of extra options to allow greater flexibility for creating benchmarks. Add a pattern option that can be used to represent any one buffer or two buffer possibility. This should fully replace the functionality of microbench. Add a single option for one buffer benchmarks and two buffer benchmarks that represents all of the possible options to run a string benchmark. Add a string test suite that includes all string benchmarks using the above option. Test: New unit tests to cover all the new options, and all pass. Test: Ran new string test suite with a single bionic iteration. Change-Id: Idb13ea15e44cec626e9f46672ccd648d7ca72ba6
2017-11-30Generate all the benchmarks to run.Christopher Ferris
Instead of requiring the need to maintain a list of all the benchmarks, add a programmatic way to generate all of the benchmarks. This generation runs the benchmarks in alphabetical order. Add a new macro BIONIC_BENCHMARK_WITH_ARG that will be the default argument to pass to the benchmark. Change the benchmarks that require default arguments. Add a small example xml file, and remove the full.xml/host.xml files. Update readme. Test: Ran new unit tests, verified all tests are added. Change-Id: I8036daeae7635393222a7a92d18f34119adba745
2017-08-24A few small fix ups.Christopher Ferris
- Add a default xml file to run if nothing is specified on the command-line. - Add a way to specify a xml file in suites without having to specify the full path name. - Move all of the test xml files into their own directory. - Add the suites directory for to glibc benchmarks. - Add a new test for help data. - Modify the full suite test to verify the default xml is chosen and use the real full.xml instead of the test one. Delete the test_full.xml. - Move the property tests to the end of the suite. - Add skipping of xml comments. Test: Ran the unit tests and ran the bionic benchmarks. Change-Id: Ie99965f86fe915af0175de46c7780ab79e2b0843
2017-08-11Merge "Improve error handling and fix minor bugs in bionic benchmarks."Christopher Ferris
2017-08-10Merge "Add musl benchmarks."Christopher Ferris
2017-08-09Improve error handling and fix minor bugs in bionic benchmarks.Anders Lewis
Test: Unit tests. Change-Id: I224ae4c7f195176eb8a87deddb2debcbf0f24ba3
2017-08-09Add musl benchmarks.Anders Lewis
Test: Unit tests. Change-Id: Ifb2911825f84b95fe64a803bfabd32fb81210eae
2017-08-08Track tinyxml2 API change.Elliott Hughes
Bug: http://b/64459264 Test: builds Change-Id: I02206b9d40571f306ce712345a36c2754ac73a97
2017-08-07Implement interface for bionic benchmarks.Anders Lewis
Test: Unit tests. Change-Id: Ic61932f61ddd572e2f045b601f9da6e090cdc45d