성능 분석
1회에 20 ns로 끝나는 함수 f가 수백만 번 호출된다. 이를 함수의 입구와 출구에 기록 처리를 넣는 계측 방식의 프로파일러로 측정한다. 기록 처리에 호출 1회당 합계 60 ns가 걸리고 그 시간이 모두 f의 시간으로 집계된다면, 측정되는 f의 시간은 원래의 몇 배가 되는가?
- A3배
- B4배
- C변하지 않는다(1배)
정답과 해설 보기
정답: B. 4배
측정되는 f의 1회당 시간은 원래의 20 ns에 기록의 60 ns가 더해져 80 ns가 되며, 80÷20 = 4배입니다. 이처럼 측정하기 위한 장치가 측정하려는 대상의 동작 자체를 바꾸어 버리는 현상을 프로브 효과라고 합니다. 기록 처리는 캐시의 내용도 바꾸어 놓으므로 실제로는 더 느려지기도 합니다. 작은 함수가 많은 프로그램에서는 시간 비율을 샘플링 방식으로 측정하거나, 측정에 드는 부담 자체를 빼고 생각합니다.