benchmark/test
Roman Lebedev 45b194e4d4
Introduce Coefficient of variation aggregate (#1220)
* Introduce Coefficient of variation aggregate

I believe, it is much more useful / use to understand,
because it is already normalized by the mean,
so it is not affected by the duration of the benchmark,
unlike the standard deviation.

Example of real-world output:
```
raw.pixls.us-unique/GoPro/HERO6 Black$ ~/rawspeed/build-old/src/utilities/rsbench/rsbench GOPR9172.GPR --benchmark_repetitions=27 --benchmark_display_aggregates_only=true --benchmark_counters_tabular=true
2021-09-03T18:05:56+03:00
Running /home/lebedevri/rawspeed/build-old/src/utilities/rsbench/rsbench
Run on (32 X 3596.16 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x16)
  L1 Instruction 32 KiB (x16)
  L2 Unified 512 KiB (x16)
  L3 Unified 32768 KiB (x2)
Load Average: 7.00, 2.99, 1.85
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Benchmark                                                      Time             CPU   Iterations  CPUTime,s CPUTime/WallTime     Pixels Pixels/CPUTime Pixels/WallTime Raws/CPUTime Raws/WallTime WallTime,s
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GOPR9172.GPR/threads:32/process_time/real_time_mean         11.1 ms          353 ms           27   0.353122          31.9473        12M       33.9879M        1085.84M      2.83232       90.4864  0.0110535
GOPR9172.GPR/threads:32/process_time/real_time_median       11.0 ms          352 ms           27   0.351696          31.9599        12M       34.1203M        1090.11M      2.84336       90.8425  0.0110081
GOPR9172.GPR/threads:32/process_time/real_time_stddev      0.159 ms         4.60 ms           27   4.59539m        0.0462064          0       426.371k        14.9631M    0.0355309       1.24692   158.944u
GOPR9172.GPR/threads:32/process_time/real_time_cv           1.44 %          1.30 %            27  0.0130136         1.44633m          0      0.0125448       0.0137802    0.0125448     0.0137802  0.0143795
```

Fixes https://github.com/google/benchmark/issues/1146

* Be consistent, it's CV, not 'rel std dev'
2021-09-03 18:44:10 +01:00
..
args_product_test.cc Support -Wsuggest-override (#1059) 2021-05-11 14:56:00 +03:00
AssemblyTests.cmake split_list is not defined for assembly tests (#595) 2018-05-14 15:02:49 +01:00
basic_test.cc Use fewer ramp up repetitions when KeepRunningBatch is used (#1113) 2021-04-20 07:16:05 +01:00
benchmark_gtest.cc Fix leak in test, and provide path to remove leak from library (#1169) 2021-06-03 16:08:00 +01:00
benchmark_name_gtest.cc BENCHMARK_CAPTURE() and Complexity() - naming problem (#761) 2019-03-17 16:38:51 +03:00
benchmark_random_interleaving_gtest.cc fix clang-tidy warnings (#1195) 2021-06-29 11:06:53 +01:00
benchmark_test.cc Introduce accessors for currently public data members (threads and thread_index) (#1208) 2021-08-23 09:06:57 +01:00
BUILD Introduce "family index" field into JSON output (#1164) 2021-06-02 18:06:45 +03:00
clobber_memory_assembly_test.cc Add tests to verify assembler output -- Fix DoNotOptimize. (#530) 2018-03-23 16:10:47 -06:00
CMakeLists.txt Random interleaving of benchmark repetitions - the sequel (fixes #1051) (#1163) 2021-06-03 21:16:54 +03:00
commandlineflags_gtest.cc Add benchmark_context flag that allows per-run custom context. (#1127) 2021-05-04 14:36:11 +01:00
complexity_test.cc Statistics: add support for percentage unit in addition to time (#1219) 2021-09-03 15:36:56 +01:00
cxx03_test.cc Iteration counts should be uint64_t globally. (#817) 2019-05-13 12:33:11 +03:00
diagnostics_test.cc Refactor most usages of KeepRunning to use the perfered ranged-for. (#459) 2017-10-17 12:17:02 -06:00
display_aggregates_only_test.cc Introduce Coefficient of variation aggregate (#1220) 2021-09-03 18:44:10 +01:00
donotoptimize_assembly_test.cc Add tests to verify assembler output -- Fix DoNotOptimize. (#530) 2018-03-23 16:10:47 -06:00
donotoptimize_test.cc Fix uninitialized warning (#560) 2018-03-25 20:05:31 +01:00
filter_test.cc Introduce "family index" field into JSON output (#1164) 2021-06-02 18:06:45 +03:00
fixture_test.cc Introduce accessors for currently public data members (threads and thread_index) (#1208) 2021-08-23 09:06:57 +01:00
internal_threading_test.cc Add process_time for better OpenMP and user-managed thread timing 2019-04-09 13:01:33 +01:00
link_main_test.cc Add benchmark_main target. (#601) 2018-05-25 11:18:58 +01:00
map_test.cc Support -Wsuggest-override (#1059) 2021-05-11 14:56:00 +03:00
memory_manager_test.cc Introduce per-family instance index (#1165) 2021-06-02 23:45:41 +03:00
multiple_ranges_test.cc Support -Wsuggest-override (#1059) 2021-05-11 14:56:00 +03:00
options_test.cc Add 'seconds' time unit (#1076) 2020-12-21 20:15:58 +03:00
output_test_helper.cc Introduce Coefficient of variation aggregate (#1220) 2021-09-03 18:44:10 +01:00
output_test.h prefix macros to avoid clashes (#1186) 2021-06-24 18:21:59 +01:00
perf_counters_gtest.cc prefix macros to avoid clashes (#1186) 2021-06-24 18:21:59 +01:00
perf_counters_test.cc fix clang-tidy warnings (#1195) 2021-06-29 11:06:53 +01:00
register_benchmark_test.cc prefix macros to avoid clashes (#1186) 2021-06-24 18:21:59 +01:00
repetitions_test.cc Statistics: add support for percentage unit in addition to time (#1219) 2021-09-03 15:36:56 +01:00
report_aggregates_only_test.cc Introduce Coefficient of variation aggregate (#1220) 2021-09-03 18:44:10 +01:00
reporter_output_test.cc Statistics: add support for percentage unit in addition to time (#1219) 2021-09-03 15:36:56 +01:00
skip_with_error_test.cc Introduce accessors for currently public data members (threads and thread_index) (#1208) 2021-08-23 09:06:57 +01:00
state_assembly_test.cc Iteration counts should be uint64_t globally. (#817) 2019-05-13 12:33:11 +03:00
statistics_gtest.cc Introduce Coefficient of variation aggregate (#1220) 2021-09-03 18:44:10 +01:00
string_util_gtest.cc Fix perf counter argument parsing (#1160) 2021-06-01 15:50:42 +01:00
templated_fixture_test.cc (clang-)format all the things (#610) 2018-06-01 11:14:19 +01:00
user_counters_tabular_test.cc Introduce Coefficient of variation aggregate (#1220) 2021-09-03 18:44:10 +01:00
user_counters_test.cc Introduce per-family instance index (#1165) 2021-06-02 23:45:41 +03:00
user_counters_thousands_test.cc Statistics: add support for percentage unit in addition to time (#1219) 2021-09-03 15:36:56 +01:00