성능 분석
실행 시간 측정 방법 중 「벽시계 시간(wall-clock time)」과 「CPU 시간」의 차이로 올바른 것은?
- A벽시계 시간은 시작부터 끝까지 실제로 경과한 시간으로 입출력 대기 등도 포함하며, CPU 시간은 CPU가 그 프로그램을 실행하고 있던 시간만 센다
- B벽시계 시간과 CPU 시간은 반드시 같은 값이 된다
- CCPU 시간은 방의 시계로 잰 시간을 말한다
정답과 해설 보기
정답: A. 벽시계 시간은 시작부터 끝까지 실제로 경과한 시간으로 입출력 대기 등도 포함하며, CPU 시간은 CPU가 그 프로그램을 실행하고 있던 시간만 센다
벽시계 시간은 사용자가 실제로 기다리는 시간으로, 디스크나 네트워크 대기, 다른 프로그램에 순서를 양보하고 있던 시간도 포함합니다. CPU 시간은 CPU가 그 프로그램의 명령어를 실행하고 있던 시간의 합계입니다. 벽시계 시간이 CPU 시간보다 훨씬 길면 무언가를 기다리는 시간이 길다는 것을 알 수 있습니다. 반대로 여러 스레드로 병렬 실행하면 CPU 시간의 합계가 벽시계 시간보다 길어집니다.
- A. 올바릅니다. 둘의 차이로 대기 시간을 알 수 있습니다.
- B. 대기나 병렬 실행이 있으면 다른 값이 됩니다.
- C. 방의 시계로 재는 것은 벽시계 시간입니다.