6 #ifndef BENCHMARK_TIMER_H
7 #define BENCHMARK_TIMER_H
15 Timer(
const char* name):m_name(name) {
reset(); }
21 void print() { printf(
"<sys/times.h> header is not present in MS Visual Studio. Dummy implementation of Timer class is used.\n");}
27 #include <sys/times.h>
42 return 10*(m_stop.tms_utime - m_start.tms_utime + m_stop.tms_stime - m_start.tms_stime);
47 return 10*(m_stored.tms_utime + m_stored.tms_stime);
53 if(m_start.tms_utime == 0)
return;
57 m_stored.tms_utime += m_stop.tms_utime - m_start.tms_utime;
58 m_stored.tms_stime += m_stop.tms_stime - m_start.tms_stime;
60 m_start.tms_utime = 0;
61 m_start.tms_stime = 0;
66 m_start.tms_utime = 0;
67 m_start.tms_stime = 0;
68 m_stored.tms_utime = 0;
69 m_stored.tms_stime = 0;
74 std::cout << m_name <<
":" << std::endl;
75 std::cout <<
" user: " << m_stored.tms_utime*10 <<
" ms" << std::endl;
76 std::cout <<
" system: " << m_stored.tms_stime*10 <<
" ms" << std::endl;
81 struct tms m_start,m_stop,m_stored;