성능 분석
배열의 크기를 조금씩 키우면서 배열을 반복해서 읽는 처리의 요소 1개당 시간을 측정하면, 특정 크기마다 시간이 단계적으로 늘어난다. 그 이유로 올바른 것은?
- A배열이 커질수록 CPU 주파수가 반드시 내려가기 때문에
- B배열이 L1·L2·L3 캐시의 용량을 차례로 넘을 때마다 데이터가 더 느린 기억장치에서 읽히게 되기 때문에
- C배열의 크기에 따라 덧셈의 결과가 달라지기 때문에
정답과 해설 보기
정답: B. 배열이 L1·L2·L3 캐시의 용량을 차례로 넘을 때마다 데이터가 더 느린 기억장치에서 읽히게 되기 때문에
배열이 작을 때는 L1 캐시에 들어가 빠르게 읽히지만, L1 용량을 넘으면 L2에서, 다시 L2나 L3를 넘으면 주기억장치에서 읽게 되어 그때마다 요소 1개당 시간이 단계적으로 늘어납니다. 이 측정 방법으로 캐시의 용량과 각각의 속도를 대략 알아낼 수 있습니다. 프로그램이 반복해서 사용하는 데이터의 크기(워킹 셋)를 캐시에 맞추는 것이 성능에 크게 영향을 주는 이유도 알 수 있습니다.
- A. 주파수는 배열 크기로 결정되지 않습니다.
- B. 올바릅니다. 메모리 계층의 용량이 단차로 나타납니다.
- C. 계산 결과는 달라지지 않습니다.