あなたがやっていることは、私が最近やっていることとよく似ています。
int gettimeofday(struct timeval *tv, struct timezone *tz);
機能はあなたのニーズに合っていると思います。時間情報は に入れられ、struct timeval tv
秒とマイクロ秒で時間を取得します。struct timeval
マニュアルページから:
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
を使用した時間測定の短い例gettimeofday
:
struct timeval time;
if(gettimeofday( &time, 0 )) return -1;
long cur_time = 1000000 * time.tv_sec + time.tv_usec;
double sec = cur_time / 1000000.0;
より長い例は簡略化されており、便利に使用できるように C++ クラスとして簡単にラップされています。コードは私の github: https://github.com/lulyon/LinuxTimeCounterに配置されており、実際のプロジェクトで使用されています。