성능 분석

1회에 20 ns로 끝나는 함수 f가 수백만 번 호출된다. 이를 함수의 입구와 출구에 기록 처리를 넣는 계측 방식의 프로파일러로 측정한다. 기록 처리에 호출 1회당 합계 60 ns가 걸리고 그 시간이 모두 f의 시간으로 집계된다면, 측정되는 f의 시간은 원래의 몇 배가 되는가?

  1. A3배
  2. B4배
  3. C변하지 않는다(1배)
정답과 해설 보기

정답: B. 4배

측정되는 f의 1회당 시간은 원래의 20 ns에 기록의 60 ns가 더해져 80 ns가 되며, 80÷20 = 4배입니다. 이처럼 측정하기 위한 장치가 측정하려는 대상의 동작 자체를 바꾸어 버리는 현상을 프로브 효과라고 합니다. 기록 처리는 캐시의 내용도 바꾸어 놓으므로 실제로는 더 느려지기도 합니다. 작은 함수가 많은 프로그램에서는 시간 비율을 샘플링 방식으로 측정하거나, 측정에 드는 부담 자체를 빼고 생각합니다.

이 분야 연습하기 분야로 돌아가기

관련 계산 도구

성능 분석의 다른 문제

  1. 프로그램의 CPU 실행 시간을 나타내는 기본 식으로 올바른 것은?
  2. 10억 개의 명령어를 실행하는 프로그램을 평균 CPI 2, 클럭 주파수 2 GHz인 CPU에서 실행했다. 실행 시간은 얼마입니까?
  3. CPU 설계 변경으로 클럭 주파수는 1.5배가 되었지만 CPI도 1.2배로 늘었다(명령어 수는 동일). 실행 속도는 원래의 몇 배가 됩니까?
  4. 컴파일러의 새로운 최적화로 실행하는 명령어 수는 20% 줄었지만 평균 CPI가 10% 늘었다(주파수는 동일). 이 최적화의 효과로 올바른 것은?
  5. 어떤 프로그램의 명령어 비율이 정수 연산 50%(CPI 1), 로드와 스토어 30%(CPI 2), 분기 20%(CPI 5)였다. 평균 CPI는 얼마입니까?

이 분야의 비교