링크 시점 최적화(LTO): 컴파일러 최적화의 다음 단계?
2025-05-21

이 글에서는 링크 시점 최적화(LTO) 기술을 다룹니다. LTO는 링크 단계에서 최적화를 수행하여 프로그램 성능을 향상시키는 기술입니다. 기존 컴파일러는 개별 파일 내에서 최적화를 수행하는 반면, LTO는 여러 파일을 통합하여 함수 인라이닝 및 코드 지역성 개선과 같은 보다 포괄적인 최적화를 수행할 수 있습니다. LTO는 상당한 성능 향상을 가져올 수 있지만(ProjectX 프로젝트 테스트 결과 실행 시간 9.2% 단축, 바이너리 크기 평균 20% 감소), 컴파일 및 링크 시간이 더 오래 걸리고 더 많은 메모리가 필요하다는 단점이 있습니다. 저자는 ProjectX와 ffmpeg 두 프로젝트에 대한 실험 결과를 비교하여 LTO의 장단점을 보여주고, 공격적으로 속도 최적화되지 않은 프로젝트에서는 LTO를 시도해 볼 것을 제안합니다. 최종 성능 향상은 프로젝트마다 다르다는 결론을 내립니다.
개발
링크 시점 최적화