컴파일러
프로파일을 이용한 최적화(PGO)에 대한 설명으로 올바른 것은?
- A프로그램의 소스 코드를 읽기 쉽게 다시 정리하는 기능
- B컴파일러가 난수로 최적화 방법을 여러 개 고르고 결과를 비교하는 기능
- C대표적인 입력으로 실행한 기록을 이용해 다시 컴파일한다
정답과 해설 보기
정답: C. 대표적인 입력으로 실행한 기록을 이용해 다시 컴파일한다
PGO에서는 먼저 계측용 명령을 넣어 컴파일한 프로그램을 대표적인 입력으로 실행하고, 어느 분기가 자주 지나가는지, 어느 함수가 자주 호출되는지 등을 기록합니다. 다음으로 그 정보를 이용해 다시 컴파일하여, 자주 지나가는 경로를 일직선으로 배치하거나 자주 호출되는 함수를 인라인 전개하는 등 실제 사용 방식에 맞는 최적화를 수행합니다. 입력이 실제 사용 방식과 크게 다르면 효과가 떨어지는 점에 주의해야 합니다. 소스의 정리나 난수에 의한 선택이 아닙니다.
- A. 소스의 정리는 다른 도구의 일입니다.
- B. 난수로 고르는 것이 아니라 실행 기록을 사용합니다.
- C. 올바릅니다. 실행 기록을 이용해 다시 컴파일합니다.