36 # include <vcl_msvc_warnings.h> 38 #include <vcl_sys/time.h> 43 #if !defined(_WIN32) || defined(__CYGWIN__) 57 #if defined(_WIN32) && !defined(__CYGWIN__) 63 #define CLK_TCK sysconf(_SC_CLK_TCK) 81 #if !defined(_WIN32) || defined(__CYGWIN__) 87 #if VXL_TWO_ARG_GETTIME 88 gettimeofday(&
data->
real0, (
struct timezone*)0);
106 #if !defined(_WIN32) || defined(__CYGWIN__) 107 struct timeval real_time;
110 gettimeofday(&real_time, &tz);
112 #if VXL_TWO_ARG_GETTIME 113 gettimeofday(&real_time, (
struct timezone*)0);
115 gettimeofday(&real_time);
118 s = real_time.tv_sec -
data->
real0.tv_sec;
119 long us = real_time.tv_usec -
data->
real0.tv_usec;
121 if (us < 0) { us += 1000000; --s; }
122 return long(1000.0*s + us / 1000.0 + 0.5);
126 struct _timeb real_time;
128 s = long(real_time.time -
data->
real0.time);
129 long ms = real_time.millitm -
data->
real0.millitm;
131 if (ms < 0) { ms += 1000; --s; }
139 #if !defined(_WIN32) || defined(__CYGWIN__) 144 std::clock_t usage = std::clock();
145 return (usage -
data->
usage0) / (CLOCKS_PER_SEC/1000);
153 #if !defined(_WIN32) || defined(__CYGWIN__) 167 #if !defined(_WIN32) || defined(__CYGWIN__) 170 return (usage.tms_utime + usage.tms_stime -
173 std::clock_t usage = std::clock();
174 return (usage -
data->
usage0) / (CLOCKS_PER_SEC/1000);
181 s <<
"Time: user " <<
user() / 1000.0 <<
", real " << this->
real() / 1000.0 << std::endl;
vul_timer()
construct and reset counter to now.
vul_timer_data * data
struct containing timer data.
long system()
System time (ms) since last mark.
void print(std::ostream &s)
Display user and real time since the last mark.
long user()
User time (ms) since last mark.
void mark()
Reset the counted to now.
long all()
User+system time (ms) since last mark.
A timing facility for C++.
long real()
Real time (ms) since last mark.