C언어

고요한하늘 2015. 4. 16. 12:48


c언에서 경과시간을 잴때 getimeofday를 사용했는데

이 함수보다는 clock_gettime을 권장한다고 한다.



//선언

struct timespec ts1, ts2, ets;




// start

clock_gettime(  CLOCK_REALTIME , &ts1 );



// end

clock_gettime(  CLOCK_REALTIME , &ts2 );


// 경과시간

void elapsed_time( struct timespec start, struct timespec end, struct timespec *etime ){

        if ((end.tv_nsec - start.tv_nsec) < 0){

            etime->tv_sec  = end.tv_sec - start.tv_sec - 1;

            etime->tv_nsec = 1000000000 + end.tv_nsec - start.tv_nsec;

        } else {

            etime->tv_sec  = end.tv_sec  - start.tv_sec;

            etime->tv_nsec = end.tv_nsec - start.tv_nsec;

        }

}


// 출력

printf( "\"elapsed time\" : \"%d.%09lds\"", ets.tv_sec, ets.tv_nsec);