mirror of https://github.com/google/benchmark.git
fbc6efa9b5
* Refactoring of PerfCounters infrastructure The main feature in this pull request is the removal of the static sharing of PerfCounters and instead creating them at the top `RunBenchmarks()` function where all benchmark runners are created. A single PerfCountersMeasurement object is created and then shared with all the new BenchmarkRunners objects, one per existing benchmark. Other features conflated here in this PR are: - Added BENCHMARK_DONT_OPTIMIZE macro in global scope - Removal of the `IsValid()` query, being replaced by checking the number of remaining counters after validity tests - Refactoring of all GTests to reflect the changes and new semantics - extra comments throughout the new code to clarify intent It was extremely hard to separate all those features in different PRs as requested since they are so interdependent on each other so I'm just pushing them altogether and asking for forgiveness. This PR comes replacing PRs 1555 and 1558 which have been closed. * Fixed whitespace issue with clang-format My clang-format insists in deleting this single white space on line 601 while Github's clang format breaks when it is added. I had to disable format-on-save to check-in this revert change. I'm using clang 14.0.6. |
||
---|---|---|
.. | ||
AssemblyTests.cmake | ||
BUILD | ||
CMakeLists.txt | ||
args_product_test.cc | ||
basic_test.cc | ||
benchmark_gtest.cc | ||
benchmark_min_time_flag_iters_test.cc | ||
benchmark_min_time_flag_time_test.cc | ||
benchmark_name_gtest.cc | ||
benchmark_random_interleaving_gtest.cc | ||
benchmark_setup_teardown_test.cc | ||
benchmark_test.cc | ||
clobber_memory_assembly_test.cc | ||
commandlineflags_gtest.cc | ||
complexity_test.cc | ||
cxx03_test.cc | ||
diagnostics_test.cc | ||
display_aggregates_only_test.cc | ||
donotoptimize_assembly_test.cc | ||
donotoptimize_test.cc | ||
filter_test.cc | ||
fixture_test.cc | ||
internal_threading_test.cc | ||
link_main_test.cc | ||
map_test.cc | ||
memory_manager_test.cc | ||
min_time_parse_gtest.cc | ||
multiple_ranges_test.cc | ||
options_test.cc | ||
output_test.h | ||
output_test_helper.cc | ||
perf_counters_gtest.cc | ||
perf_counters_test.cc | ||
register_benchmark_test.cc | ||
repetitions_test.cc | ||
report_aggregates_only_test.cc | ||
reporter_output_test.cc | ||
skip_with_error_test.cc | ||
spec_arg_test.cc | ||
spec_arg_verbosity_test.cc | ||
state_assembly_test.cc | ||
statistics_gtest.cc | ||
string_util_gtest.cc | ||
templated_fixture_test.cc | ||
time_unit_gtest.cc | ||
user_counters_tabular_test.cc | ||
user_counters_test.cc | ||
user_counters_thousands_test.cc |