C에서 배열 초기화 후 값을 대입하는것이 빠른 이유가 있을까요?

high385의 이미지

1번

unsigned short ar[4000]={0};
 
for (int i=0;i <4000;i++){
    ar [i] = i;
}

2번

unsigned short ar[4000];
 
for (int i=0;i <4000;i++){
    ar [i] = i;
}

1번처럼 배열을 초기화한후 이용하는 function이 많이 호출되어 사용될경우

2번보다 1번이 속도가 빠르게 visual studio에서 관찰되던데 혹시 이유

아시나요?

배열의 경우는 초기화한후 값을 대입하는것이 속도에 효과적인가요?

라스코니의 이미지

1번이 더 느릴텐데요.

unsigned short ar [4000]={0}; 처럼 0 으로 초기화하는 시간이 있기 때문에 더 느릴텐데 더 빠르게 보였다면 이상하네요.