성능 분석

같은 수의 명령어를 가진 두 프로그램을 하나는 초당 1000백만 명령어, 다른 하나는 500백만 명령어의 속도로 연달아 실행했다. 전체 평균 속도는 얼마인가?

  1. A750백만 명령어/초
  2. B약 707백만 명령어/초
  3. C약 667백만 명령어/초
정답과 해설 보기

정답: C. 약 667백만 명령어/초

각각 명령어가 I개이면 시간은 I÷1000과 I÷500이고 합계는 3I÷1000입니다. 전체 2I개의 명령어를 이 시간에 실행했으므로 평균 속도는 2I÷(3I÷1000)≒667입니다. 느린 쪽 프로그램에 긴 시간이 걸리므로 평균은 느린 쪽으로 끌려갑니다. 이처럼 같은 양의 일에 대한 속도(비율)를 평균할 때는 산술평균이 아니라 조화평균을 사용합니다.

  • A. 속도를 단순히 산술평균하면 틀립니다.
  • B. 이것은 기하평균이며 전체 속도를 나타내지 않습니다.
  • C. 올바릅니다. 속도의 평균은 조화평균으로 구합니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 위와 같은 작은 루프로 계산 속도를 측정했더니 N을 크게 해도 시간이 거의 0이었다. 가장 가능성이 높은 원인은?
  2. 프로그램의 실행 시간을 측정할 때 같은 측정을 여러 번 반복하고 처음 몇 번의 결과를 제외하는 경우가 많은 이유로 올바른 것은?
  3. 매우 짧은 처리의 시간을 한 번만 측정하려 할 때의 문제와 그 대책의 조합으로 올바른 것은?
  4. 실행 시간 측정 방법 중 「벽시계 시간(wall-clock time)」과 「CPU 시간」의 차이로 올바른 것은?
  5. 서버 성능을 나타내는 처리량(throughput)과 지연 시간(latency)에 대한 설명으로 올바른 것은?