14#ifndef OR_TOOLS_BASE_TIMER_H_
15#define OR_TOOLS_BASE_TIMER_H_
17#include "absl/time/clock.h"
18#include "absl/time/time.h"
33 start_ = absl::GetCurrentTimeNanos();
41 sum_ += absl::GetCurrentTimeNanos() - start_;
49 return absl::Nanoseconds(
GetNanos());
54 return running_ ? absl::GetCurrentTimeNanos() - start_ + sum_ : sum_;
85 return static_cast<int64_t
>(s * 1e9);
88 static int64_t
CyclesToMs(int64_t c) {
return c / 1000000; }
106 double* aggregate_time_;
static int64_t CyclesToUsec(int64_t c)
static double CyclesToSeconds(int64_t c)
static int64_t CyclesToMs(int64_t c)
static int64_t SecondsToCycles(double s)
int64_t GetCycles() const
ScopedWallTime(double *aggregate_time)
int64_t GetInUsec() const
absl::Duration GetDuration() const
CycleTimerBase CycleTimerInstance
CycleTimer SimpleCycleTimer