summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/benchmark/test/options_test.cc
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/benchmark/test/options_test.cc')
-rw-r--r--3rdparty/benchmark/test/options_test.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/3rdparty/benchmark/test/options_test.cc b/3rdparty/benchmark/test/options_test.cc
index d4c682d4ece..4737caa2e4c 100644
--- a/3rdparty/benchmark/test/options_test.cc
+++ b/3rdparty/benchmark/test/options_test.cc
@@ -1,11 +1,27 @@
#include "benchmark/benchmark_api.h"
+#include <chrono>
+#include <thread>
+
void BM_basic(benchmark::State& state) {
while (state.KeepRunning()) {
}
}
+
+void BM_basic_slow(benchmark::State& state) {
+ std::chrono::milliseconds sleep_duration(state.range_x());
+ while (state.KeepRunning()) {
+ std::this_thread::sleep_for(
+ std::chrono::duration_cast<std::chrono::nanoseconds>(sleep_duration)
+ );
+ }
+}
+
BENCHMARK(BM_basic);
BENCHMARK(BM_basic)->Arg(42);
+BENCHMARK(BM_basic_slow)->Arg(10)->Unit(benchmark::kNanosecond);
+BENCHMARK(BM_basic_slow)->Arg(100)->Unit(benchmark::kMicrosecond);
+BENCHMARK(BM_basic_slow)->Arg(1000)->Unit(benchmark::kMillisecond);
BENCHMARK(BM_basic)->Range(1, 8);
BENCHMARK(BM_basic)->DenseRange(10, 15);
BENCHMARK(BM_basic)->ArgPair(42, 42);