Ex13-레지스터 변수 , 레지스터 변수 vs 지역변수

CODEDRAGON Development/C, C++

반응형

   

레지스터 변수

레지스터 변수 vs 지역변수

   

   

강의내용

  • 레지스터 변수가 지역변수보다 빠르다
  • 그러나 측정할 때 마다 차이가 날수 있습니다.
  • 레지스터 변수로 설정하였더라도 코드 최적화 단계에서 자동으로 설정되기 때문에 개발자가 register라고 할 필요가 없으며
  • 그렇기 때문에 지역변수와 레지스터변수의 차이가 별로 없습니다.

   

   

소스코드

   

#include <stdio.h>
#include <time.h>                                       //
연산 속도 측정을 위해 clock( ) 함수 사용

#define MAX 1000000                     //
백만을 상수화

int main(void)
{
//      register int i;                                 // int i;
        int i;                                  // int i;
        clock_t startTime, endTime, result;     // clock_t
long, typedef long clock_t;

        startTime=clock( );                     // startTime :
측정 시작
        for (i=0; i<=MAX; i++)          //
반복 실행
        {
                printf("%d\n", i);
        }
        endTime=clock( );                       // endTime :
측정 완료

        result=endTime-startTime;       //
연산 속도
//      printf("
레지스터 변수 속도 : %lf\n", (double)result/1000);
        printf("
지역 변수 속도 : %lf\n", (double)result/1000);
        return 0;
}


   

   

   

출력결과

   

 

'Development > C, C++' 카테고리의 다른 글

1차원 배열  (0) 2015.07.12
프로세스의 메모리 구조  (0) 2015.07.11
switch~case 문과 if~else문과의 관계  (0) 2015.07.10
Eclipse CDT update  (0) 2015.07.09
정수  (0) 2015.07.09