clock() — 프로세서 시간 판별

형식

#include <time.h>
clock_t clock(void);

언어 레벨

ANSI

스레드세이프

설명

clock() 함수는 구현 정의 기간 시작 이후로 프로세스 호출과 관련된 프로그램이 사용한 프로세서 시간의 근사값을 리턴합니다. 시간(초)을 확보하려면 clock()이 리턴한 값을 매크로 CLOCKS_PER_SEC 값으로 나누십시오.

리턴값

프로세서 시간 값을 사용할 수 없거나 표시할 수 없는 경우 clock() 함수는 (clock_t)-1 값을 리턴합니다.

프로그램에서 소비된 시간을 측정하려면 프로그램 시작 시 clock()을 호출하고, clock() 후속 호출이 리턴한 값에서 리턴값을 빼십시오. 다른 플랫폼에서는 system() 함수 호출이 시계를 재설정하기 때문에 항상 clock() 함수에 의존할 수는 없습니다.

이 예는 프로그램이 호출된 이후로 경과된 시간을 인쇄합니다.
#include <time.h>
#include <stdio.h>
 
double time1, timedif;        /* use doubles to show small values */
 
int main(void)
{
    int  i;
 
    time1 = (double) clock();            /* get initial time */
    time1 = time1 / CLOCKS_PER_SEC;      /*    in seconds    */
 
    /* running the FOR loop 10000 times */
    for (i=0; i<10000; i++);
 
    /* call clock a second time */
    timedif = ( ((double) clock()) / CLOCKS_PER_SEC) - time1;
    printf("The elapsed time is %lf seconds\n", timedif);
}