성능 분석
프로그램의 실행 시간을 측정할 때 같은 측정을 여러 번 반복하고 처음 몇 번의 결과를 제외하는 경우가 많은 이유로 올바른 것은?
- A처음 몇 번은 계산 결과가 반드시 틀리기 때문에
- B처음에는 캐시가 비어 있거나 파일 읽기나 실행 시 컴파일이 이루어져 느리고, 측정의 편차도 있기 때문에
- C같은 측정을 반복하면 CPU가 빨라지는 회로를 만들기 때문에
정답과 해설 보기
정답: B. 처음에는 캐시가 비어 있거나 파일 읽기나 실행 시 컴파일이 이루어져 느리고, 측정의 편차도 있기 때문에
처음 실행에서는 캐시, TLB, 분기 예측기가 빈 상태에서 시작하고, 파일이 OS 캐시에 없어 디스크에서 읽어야 하며, JIT 컴파일러를 쓰는 언어에서는 기계어로의 변환도 이루어집니다. 그래서 처음 몇 번은 느려집니다. 또한 다른 프로그램, 인터럽트, 온도에 따른 주파수 변화 등으로 측정은 편차가 생기므로, 여러 번 측정하여 평균이나 중앙값, 편차의 크기를 제시하는 것이 중요합니다.
- A. 결과는 올바르고 시간만 다를 뿐입니다.
- B. 올바릅니다. 워밍업이라고 부릅니다.
- C. 회로가 바뀌는 일은 없습니다.