/ src / bench / util_time.cpp
util_time.cpp
 1  // Copyright (c) 2019-present The Bitcoin Core 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  #include <test/util/time.h>
 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      NodeClockContext clock_ctx{111s};
19      bench.run([&] {
20          (void)GetTime<std::chrono::seconds>();
21      });
22  }
23  
24  static void BenchTimeMillis(benchmark::Bench& bench)
25  {
26      bench.run([&] {
27          (void)GetTime<std::chrono::milliseconds>();
28      });
29  }
30  
31  static void BenchTimeMillisSys(benchmark::Bench& bench)
32  {
33      bench.run([&] {
34          (void)TicksSinceEpoch<std::chrono::milliseconds>(SystemClock::now());
35      });
36  }
37  
38  BENCHMARK(BenchTimeDeprecated);
39  BENCHMARK(BenchTimeMillis);
40  BENCHMARK(BenchTimeMillisSys);
41  BENCHMARK(BenchTimeMock);