OS/리눅스 & 유닉스

유닉스 작업 시간 측정 (마이크로세컨드)

적외선 2011. 11. 21. 14:59
struct timeval fstart_time, fend_time;
char ftime[10];
long fstime, fetime, frtime, fsec, fusec;

gettimeofday(&fstart_time, NULL);
memset(ftime,0,sizeof(ftime));

===========================작업=============================

 gettimeofday(&fend_time, NULL);
 
    fstime = fstart_time. tv_sec * 1000000 + fstart_time.tv_usec;
    fetime = fend_time.tv_sec* 1000000 + fend_time.tv_usec;

    frtime = fetime - fstime;
    if(frtime>=1000000)
    {
    fsec = frtime / 1000000;
    fusec = frtime - ((frtime / 1000000)*1000000);
    }
    else
    {
    fsec = 0;
    fusec = frtime;
    }
    sprintf(ftime,"%ld.%06ld",fsec, fusec);