24#include "macrologger.h"
61 std::chrono::high_resolution_clock::time_point
117 static void Start(
const std::string &name);
124 static void Stop(
const std::string &name);
133 return this->records;
143 Timer(std::string sid =
"");
155 void start(
const std::string &name);
162 void stop(
const std::string &name);
176 std::map<std::string, Recorder *>
181 int current_level = 0;
The Timer class is a singleton that manages multiple Recorders and provides an interface for timing e...
Definition timer.hpp:103
static Timer & get_instance()
Gets the singleton instance of the Timer class.
Definition timer.cpp:39
static void Dump()
Dumps the timing information for all recorded events to the console.
Definition timer.cpp:56
static void Stop(const std::string &name)
Stops the timer for the specified event name.
Definition timer.cpp:51
std::map< std::string, Recorder * > get_records() const
Definition timer.hpp:131
static void Start(const std::string &name)
Starts a timer for the specified event name.
Definition timer.cpp:46
Definition algebra.hpp:28
The Recorder class is responsible for recording timing information for individual events.
Definition timer.hpp:34
std::chrono::high_resolution_clock::time_point t0
The start time of the event.
Definition timer.hpp:62
std::string name
The name of the event.
Definition timer.hpp:59
void stop()
Stops the timer for this Recorder instance and updates the total elapsed time.
Definition timer.cpp:28
void dump()
Outputs the timing data to the console.
Definition timer.cpp:14
int nb_calls
The number of times the event has been recorded.
Definition timer.hpp:60
void start()
Starts the timer for this Recorder instance.
Definition timer.cpp:22
float total
The total time recorded for the event.
Definition timer.hpp:63