38 std::vector<double> multi_time;
39 std::vector<double> time;
43 void addMultiMaxTime()
47 if(multi_time.empty())
49 for(std::vector<double>::iterator it = multi_time.begin(); it != multi_time.end(); ++it)
54 time.push_back( max );
61 void addMultiMinTime()
64 if(multi_time.empty())
66 for(std::vector<double>::iterator it = multi_time.begin(); it != multi_time.end(); ++it)
71 time.push_back( min );
79 void start_record_multi()
85 void stop_record_multi()
98 gettimeofday(&timerStart, NULL);
107 gettimeofday(&timerEnd, NULL);
109 multi_time.push_back( (timerEnd.tv_sec - timerStart.tv_sec + (timerEnd.tv_usec - timerStart.tv_usec) / 1000000.0) * 1000 );
111 time.push_back( (timerEnd.tv_sec - timerStart.tv_sec + (timerEnd.tv_usec - timerStart.tv_usec) / 1000000.0) * 1000 );
148 double totalTime = 0.0f;
150 for(std::vector<double>::iterator it = time.begin(); it != time.end(); ++it)
163 double totalTime = 0.0f;
165 for(std::vector<double>::iterator it = time.begin(); it != time.end(); ++it)
170 return (
double)(totalTime/time.size());
176 for(std::vector<double>::iterator it = time.begin(); it != time.end(); ++it)
187 for(std::vector<double>::iterator it = time.begin(); it != time.end(); ++it)
201 double result = 0.0f;
204 gettimeofday(&tStart, NULL);
205 gettimeofday(&tEnd, NULL);
211 gettimeofday(&tStart, NULL);
212 for(
int i = 0; i < delay; ++i) ;
213 gettimeofday(&tEnd, NULL);
215 result = ((((double)tEnd.tv_sec)*1000000.0) + ((double)tEnd.tv_usec)) - ((((
double)tStart.tv_sec)*1000000.0) + ((double)tStart.tv_usec));
217 }
while(result == 0);
double getResolutionUs()
Definition: timer_linux.h:199
void reset()
Definition: timer_linux.h:118
double getTotalTime()
Definition: timer_linux.h:146
int getNumTimings()
Definition: timer_linux.h:225
double getTime(int run=0)
Definition: timer_linux.h:138
double getAverageTime()
Definition: timer_linux.h:161
void stop()
Definition: timer_linux.h:105
A class that can be used measure time on Linux systems.
Definition: timer_linux.h:29
void start()
Definition: timer_linux.h:96