728x90
반응형

기존에 clock() 함수를 이용하여 시간 측정을 해왔는데, us단위의 측정이 되지 않아 좀더 정밀한 시간 측정이 필요하게 되었다. 

검색하여 찾은 방법은 clock_gettime()함수를 사용하는 방법이다. clockid_t timespec이라는 구조체를 인자로 갖는다.

time.h를 추가하여 사용이 가능하며 timespec 구조체는 아래와 같다.

struct timespec {
        time_t   tv_sec;        /* seconds */
        long     tv_nsec;       /* nanoseconds */
};

 

사용예시는 아래와 같다.

struct timespec start;
struct timespec  end ;

clock_gettime(CLOCK_MONOTONIC, &start);


//측정이 필요한 작업

clock_gettime(CLOCK_MONOTONIC, &end);

int sec = end.tv_sec - start.tv_sec
int nsec = end.tv_nsec - start.tv_nsec

 

이상으로 간단히 포스팅을 마치겠습니다. 

728x90
반응형

+ Recent posts