util_time.cpp raw

   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      FakeNodeClock clock{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);
  42