summaryrefslogtreecommitdiff
path: root/benchmarks/spawn/spawn_benchmarks.cpp
AgeCommit message (Collapse)Author
2020-10-16Add __cxa_atexit benchmarkRyan Prichard
The benchmark calls __cxa_atexit 100000 times, then either exits early without calling the destructors (_Exit) or exits normally, calling them (exit). Test: mmma bionic/benchmarks/spawn Change-Id: I41fe702d6ef11acb7a1dec95bf546b5dc693bd4a
2020-01-14Add a linker relocation benchmarkRyan Prichard
The benchmark creates a set of DSOs that mimic the work involved in loading the current version of libandroid_servers.so. The synthetic benchmark has roughly the same number of libraries with roughly the same relocations. Currently, on a local aosp_walleye build that includes recent performance improvements (including the Neon-based CL I3983bca1dddc9241bb70290ad3651d895f046660), using the "performance" governor, the benchmark reports these scores: $ adb shell taskset 10 \ /data/benchmarktest64/linker-reloc-bench/linker-reloc-bench \ --benchmark_repetitions=20 --benchmark_display_aggregates_only=true ... -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BM_linker_relocation/real_time_mean 70048 us 465 us 20 BM_linker_relocation/real_time_median 70091 us 466 us 20 BM_linker_relocation/real_time_stddev 329 us 8.29 us 20 $ adb shell taskset 10 \ /data/benchmarktest/linker-reloc-bench/linker-reloc-bench \ --benchmark_repetitions=20 --benchmark_display_aggregates_only=true ... -------------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------------- BM_linker_relocation/real_time_mean 83051 us 462 us 20 BM_linker_relocation/real_time_median 83069 us 464 us 20 BM_linker_relocation/real_time_stddev 184 us 8.91 us 20 Test: manual Bug: none Change-Id: I6dac66978f8666f95c76387093bda6be0151bfce
2019-09-26Revert "Revert "Add benchmarks that run simple programs""Ryan Prichard
This reverts commit 3bf27c86d1327a5a66bf06af07027c4f1a37d358. Disable the 32-bit glibc target. We're not interested in benchmarking that target, and the bench_noop_nostl executable doesn't build when ASAN is turned on, because the libclang_rt.asan_cxx-i386.a lib contains ubsan_type_hash_itanium.cc.o, which needs __dynamic_cast and various STL typeinfo variables. The equivalent libclang_rt.asan_cxx-x86_64.a lib doesn't have ubsan_type_hash_itanium.cc.o in it. Bug: http://b/141693636 Test: m bench_noop_nostl bench_noop bench_noop_static ASAN_OPTIONS=detect_leaks=0 SANITIZE_HOST=address Change-Id: Id6de17e622682f3a166367ad670cba5bfa6aee47
2019-09-26Revert "Add benchmarks that run simple programs"Raman Tenneti
This reverts commit aa85ac2b08ed61fb5bc0867ea76529964dfa35ec. Reason for revert: builds are broken - Bug: 141693636 Change-Id: I7502813ae519719c578a05676a0adf9537019bd3
2019-09-25Add benchmarks that run simple programsRyan Prichard
Specifically, test the wall-clock time for running: * a C program that does nothing (i.e. no STL) * a C++ program that does nothing * a statically-linked C++ program * toybox true (in /system/bin and /vendor/bin) * mksh -c true (in /system/bin and /vendor/bin) Test: bionic-spawn-benchmarks Change-Id: I961850ec90004cac83088feab5783f4f27768be1