3.23(금) clock() 함수 응용 사례.

from Study/C언어 2007/03/23 16:12 view 26697

#include <Turboc.h>

//typedef long clock_t;
//#define CLOCKS_PER_SEC 1000

void
main()
{
    clock_t t1,t2;
    int count=0;

    t1=clock();

    for (;;) {

        printf("기다리십시오. %d\n",count++);

        t2=clock();

        if (t2-t1 > 3*CLOCKS_PER_SEC) {

            break;
        }
    }

    printf("끝났습니다.\n");
}

3초간 어떤 작업을 반복적으로 수행 하고 싶을 때 쓸 수 있는 코드 이다.

시작시간과 현재 진행된 시간차가 3*1000,즉 3초일 때 루프벗어 난다. Delay는 기다리는 동안

다른 일을 할 수 없지만 일정 시간동안 어떤 작업을 하고 싶다면 clock 함수로 구한 시간을 이용하여

두 시간값의 차(t2 – t1)을 구해준다.

Tag |

#include <TurboC.h>
#include <math.h>

void
main()
{
    int i;
    time_t t1,t2;

    time(&t1);
    for( i = 0; i < 100000 ; i++)
        printf("결과= %f\n", sin(i*3.1416/180)*(i*3.1416/180));
    time(&t2);
    printf("%.2f초가걸렸습니다.", difftime(t2,t1));
 
}

Time함수와 difftime함수를 통해서 돌려봤더니 속도 차이가 엄청나다.. 이게 바로 CPU의 성능 차이인가..

서브컴(노트북) IBM X20 CPU – 600, RAM – 384M 대략 87초 OTL  

메인컴(데스크탑) 듀얼코어 CPU - E6600, RAM – 2G 환상(?)적인 5초 ^^\

사용자 삽입 이미지사용자 삽입 이미지 CEXAM.exe

속도측정 실행파일

Tag |