// // Created by maximilian on 16.04.22. // #include #include "areas.h" static void BM_area_computation(benchmark::State& state) { std::vector rects; for (auto _ : state) { state.PauseTiming(); rects = get_random_instance(state.range(0), state.range(1)); state.ResumeTiming(); get_area_union(rects); } state.SetComplexityN(state.range(0)); } // add benchmark BENCHMARK(BM_area_computation)->ArgsProduct({benchmark::CreateRange(1<<4,1<<18,4),{1<<20}})->Complexity(benchmark::oNLogN); // run benchmark as main() int main(int argc, char **argv) { srand(876); ::benchmark::Initialize(&argc, argv); if (::benchmark::ReportUnrecognizedArguments(argc, argv))return 1; ::benchmark::RunSpecifiedBenchmarks(); ::benchmark::Shutdown(); return 0; } int main(int, char **);