25 #if defined (PROFILE) && defined (_MSC_VER) 34 struct timespec mstart;
40 clock_gettime(CLOCK_REALTIME, &mstart);
47 clock_gettime(CLOCK_REALTIME, &now);
48 double frm = (double)mstart.tv_sec + (
double)mstart.tv_nsec * 1e-9;
49 double t = (double)now.tv_sec + (
double)now.tv_nsec * 1e-9;
62 clock_gettime(CLOCK_REALTIME, &mstart);
71 struct timespec mstart;
72 double mcumtime, mMin, mMax;
75 static constexpr
double mMin = 0.0, mMax = 0.0;
81 : mstart(), mcumtime(0.0), mMin(0), mMax(0), mcumrun(0)
85 clock_gettime(CLOCK_REALTIME, &mstart);
92 clock_gettime(CLOCK_REALTIME, &now);
93 double frm = (double)mstart.tv_sec + (
double)mstart.tv_nsec * 1e-9;
94 double t = (double)now.tv_sec + (
double)now.tv_nsec * 1e-9 - frm;
101 mMin = std::min(mMin,t);
102 mMax = std::max(mMax,t);
114 clock_gettime(CLOCK_REALTIME, &mstart);
128 return mcumtime / (double)mcumrun;
double avg()
Definition: profiler.h:126
void start()
Definition: profiler.h:60
Definition: profiler.h:31
void start()
Definition: profiler.h:112
double elapsed_ms(bool cumulative=false)
Definition: profiler.h:44
double total()
Definition: profiler.h:137
int runs()
Definition: profiler.h:118
Profiler()
Definition: profiler.h:38
AverageProfiler()
Definition: profiler.h:79
Definition: profiler.h:68
double elapsed_ms()
Definition: profiler.h:89