성능 분석
샘플링 방식 프로파일러의 특징으로 올바른 것은?
- A모든 함수의 진입과 종료를 한 번도 빠뜨리지 않고 기록한다
- B일정한 간격으로 프로그램을 인터럽트하여 그때 실행 중이던 위치를 기록하고, 많이 기록된 위치를 시간을 쓰는 곳으로 간주한다
- C프로그램의 소스 코드를 읽기만 하고 실행은 하지 않는다
정답과 해설 보기
정답: B. 일정한 간격으로 프로그램을 인터럽트하여 그때 실행 중이던 위치를 기록하고, 많이 기록된 위치를 시간을 쓰는 곳으로 간주한다
샘플링 방식에서는 타이머나 성능 카운터의 인터럽트로, 예를 들어 1초에 수천 번 실행 중인 명령어의 위치(와 호출의 연쇄)를 기록합니다. 시간을 많이 쓰는 곳일수록 기록되는 횟수가 많아지므로 통계적으로 어디가 무거운지 알 수 있습니다. 프로그램을 고치지 않으므로 측정에 의한 지연이 작아 실제에 가까운 상태에서 측정할 수 있지만, 아주 짧은 처리의 정확한 횟수 등은 알 수 없습니다.
- A. 그것은 계측(인스트루멘테이션) 방식입니다.
- B. 올바릅니다. 측정에 드는 부담이 작은 것이 장점입니다.
- C. 실행하면서 측정합니다.