34 #include "misc_log_ex.h"
39 class PerformanceTimer;
55 uint64_t
value()
const;
56 operator uint64_t()
const {
return value(); }
79 #define PERF_TIMER_NAME(name) pt_##name
80 #define PERF_TIMER_UNIT(name, unit) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)(#name, "perf." MONERO_DEFAULT_LOG_CATEGORY, unit, tools::performance_timer_log_level)
81 #define PERF_TIMER_UNIT_L(name, unit, l) tools::LoggingPerformanceTimer PERF_TIMER_NAME(name)t_##name(#name, "perf." MONERO_DEFAULT_LOG_CATEGORY, unit, l)
82 #define PERF_TIMER(name) PERF_TIMER_UNIT(name, 1000000)
83 #define PERF_TIMER_L(name, l) PERF_TIMER_UNIT_L(name, 1000000, l)
84 #define PERF_TIMER_START_UNIT(name, unit) std::unique_ptr<tools::LoggingPerformanceTimer> PERF_TIMER_NAME(name)(new tools::LoggingPerformanceTimer(#name, "perf." MONERO_DEFAULT_LOG_CATEGORY, unit, el::Level::Info))
85 #define PERF_TIMER_START(name) PERF_TIMER_START_UNIT(name, 1000000)
86 #define PERF_TIMER_STOP(name) do { PERF_TIMER_NAME(name).reset(NULL); } while(0)
87 #define PERF_TIMER_PAUSE(name) PERF_TIMER_NAME(name).pause()
88 #define PERF_TIMER_RESUME(name) PERF_TIMER_NAME(name).resume()
#define s(x, c)
Definition: aesb.c:47
int l
Definition: base.py:3