util_time.cpp raw
1 // Copyright (c) 2019-2022 The Limenka developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #include <bench/bench.h>
6
7 #include <util/time.h>
8
9 static void BenchTimeDeprecated(benchmark::Bench& bench)
10 {
11 bench.run([&] {
12 (void)GetTime();
13 });
14 }
15
16 static void BenchTimeMock(benchmark::Bench& bench)
17 {
18 SetMockTime(111);
19 bench.run([&] {
20 (void)GetTime<std::chrono::seconds>();
21 });
22 SetMockTime(0);
23 }
24
25 static void BenchTimeMillis(benchmark::Bench& bench)
26 {
27 bench.run([&] {
28 (void)GetTime<std::chrono::milliseconds>();
29 });
30 }
31
32 static void BenchTimeMillisSys(benchmark::Bench& bench)
33 {
34 bench.run([&] {
35 (void)TicksSinceEpoch<std::chrono::milliseconds>(SystemClock::now());
36 });
37 }
38
39 BENCHMARK(BenchTimeDeprecated, benchmark::PriorityLevel::HIGH);
40 BENCHMARK(BenchTimeMillis, benchmark::PriorityLevel::HIGH);
41 BENCHMARK(BenchTimeMillisSys, benchmark::PriorityLevel::HIGH);
42 BENCHMARK(BenchTimeMock, benchmark::PriorityLevel::HIGH);
43