성능 분석

프로그램 성능을 개선할 때 프로파일러를 사용하는 목적으로 올바른 것은?

  1. A프로그램의 문법 오류를 찾는다
  2. B프로그램 사용자의 수를 센다
  3. C프로그램의 어느 함수나 부분이 실행 시간의 많은 부분을 쓰고 있는지 조사한다
정답과 해설 보기

정답: C. 프로그램의 어느 함수나 부분이 실행 시간의 많은 부분을 쓰고 있는지 조사한다

많은 프로그램에서 실행 시간의 대부분은 극히 일부의 코드에서 쓰입니다. 그러나 어디가 느린지를 사람이 짐작하면 빗나가는 일이 흔합니다. 프로파일러는 함수별 실행 시간과 호출 횟수, 나아가 줄별·명령어별 시간을 측정해 보여 줍니다. 암달의 법칙대로 시간을 많이 쓰는 부분을 개선하는 것이 효과적이므로, 먼저 측정하는 것이 성능 개선의 첫걸음입니다.

  • A. 문법 오류는 컴파일러가 찾습니다.
  • B. 사용자 수와는 관계가 없습니다.
  • C. 올바릅니다. 개선해야 할 곳을 찾을 수 있습니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 샘플링 방식 프로파일러의 특징으로 올바른 것은?
  2. 함수의 입구와 출구에 시간을 재는 코드를 넣어 기록하는 계측(인스트루멘테이션) 방식 프로파일러에 대해 올바른 것은?
  3. 프로그램 성능 분석에서 말하는 핫스폿(hotspot)에 대한 설명으로 올바른 것은?
  4. 프로파일 결과를 나타내는 플레임 그래프(flame graph)를 읽는 방법으로 올바른 것은?
  5. CPU에 내장된 성능 카운터(PMU)로 셀 수 있는 것의 예로 올바른 것은?