00001 00002 #ifndef __CRBN_timer_hpp__ 00003 #define __CRBN_timer_hpp__ 00004 00005 #include <sys/time.h> 00006 00007 class Timer 00008 { 00009 public: 00010 Timer() {} 00011 void start() { 00012 struct timeval tt; 00013 gettimeofday( &tt, NULL ); 00014 _start = tt.tv_sec * 1000 + tt.tv_usec / 1000; 00015 } 00016 00017 long stop() { 00018 struct timeval tt; 00019 gettimeofday( &tt, NULL ); 00020 return (tt.tv_sec * 1000 + tt.tv_usec / 1000) - _start; 00021 } 00022 00023 long top() { 00024 struct timeval tt; 00025 gettimeofday( &tt, NULL ); 00026 long ll = tt.tv_sec * 1000 + tt.tv_usec / 1000; 00027 long lll = ll - _start; 00028 _start = ll; 00029 return lll; 00030 } 00031 private: 00032 long _start; 00033 }; 00034 00035 00036 #endif // __CRBN_timer_hpp__