성능 분석

프로그램 성능 분석에서 말하는 핫스폿(hotspot)에 대한 설명으로 올바른 것은?

  1. A칩의 온도가 가장 높은 곳
  2. B무선 LAN을 사용할 수 있는 곳
  3. C실행 시간의 대부분을 쓰고 있는 프로그램 안의 극히 일부 코드
정답과 해설 보기

정답: C. 실행 시간의 대부분을 쓰고 있는 프로그램 안의 극히 일부 코드

많은 프로그램에서 전체 코드의 몇 %에 해당하는 루프나 함수가 실행 시간의 대부분을 쓰고 있습니다. 이 부분을 핫스폿이라고 부릅니다. 프로파일러로 핫스폿을 찾아 알고리즘 개선이나 메모리 사용 방식의 개선을 그곳에 집중하면 적은 노력으로 큰 효과를 얻을 수 있습니다. 반대로 거의 실행되지 않는 부분을 아무리 최적화해도 전체는 거의 빨라지지 않습니다.

  • A. 이 문제에서는 프로그램에 대해 이야기하고 있습니다.
  • B. 무선 LAN의 핫스폿과는 다른 의미입니다.
  • C. 올바릅니다. 이곳을 개선하는 것이 가장 효과적입니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 프로파일 결과를 나타내는 플레임 그래프(flame graph)를 읽는 방법으로 올바른 것은?
  2. CPU에 내장된 성능 카운터(PMU)로 셀 수 있는 것의 예로 올바른 것은?
  3. 성능 카운터로 측정했더니 어떤 프로그램의 IPC(1사이클당 명령어 수)가 0.3으로 매우 낮고, 마지막 단계 캐시의 미스가 많았다. 가장 가능성이 높은 상황과 대책의 조합은?
  4. 성능 카운터로 분기 예측 미스가 매우 많다는 것을 알았다. 개선 방법에 해당하는 것은?
  5. 성능 카운터를 사용한 톱다운 분석(Top-down Microarchitecture Analysis)에서 CPU의 명령어 처리 슬롯 사용 방식을 나누는 큰 분류로 올바른 것은?