우분투는 빌드에서 모든 패키지에 '-O3' 컴파일러 최적화를 사용하지 않기로 한 결정에 대해 명확히 설명했습니다. 회사는 '-O3'를 적용하는 것이 성능을 일관되게 향상시키지 않으며, 특정 상호작용 작업에서는 오히려 성능을 저하시킬 수 있다는 것을 발견했습니다. 특히, 로드 시간이 최대 11.9% 증가할 수 있어, 빠른 애플리케이션 시작이 필요한 컨테이너 작업에 부정적인 영향을 미칩니다.
이러한 성능 저하의 주요 원인은 '-O3'를 사용할 때 실행 파일의 크기가 증가하기 때문입니다. 또한, '-O3'와 링크 타임 최적화(Link Time Optimization)를 결합하면 과도한 함수 인라인화가 발생할 수 있으며, 이는 레지스터 압박이나 명령어 캐시의 스래싱으로 인해 추가적인 성능 문제를 일으킬 수 있습니다. 이는 '-O3'가 특정 시나리오에서 유익할 수 있지만, 모든 패키지에 대해 합리적인 기본값이 아니라는 기존의 지식과 일치합니다. 우분투는 앞으로 성능을 향상시키고 최적화를 위한 벤치마킹 프로세스를 개선할 방법을 계속 탐색할 계획입니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.