rectangle-union-area/benchmark.cpp

25 lines
628 B
C++
Raw Normal View History

2022-04-16 11:41:48 +02:00
//
// Created by maximilian on 16.04.22.
//
#include <benchmark/benchmark.h>
#include "areas.h"
static void BM_area_computation(benchmark::State& state) {
std::vector<Rectangle> 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
2022-04-16 14:11:34 +02:00
BENCHMARK(BM_area_computation)->ArgsProduct({benchmark::CreateRange(1<<4,1<<22,4),{1<<20}})->Threads(4)->Complexity(benchmark::oNLogN);
2022-04-16 11:41:48 +02:00
// run benchmark as main()
BENCHMARK_MAIN();