| |||
| Home > 컴파일러 명령 행 옵션 > 명령 행 옵션 > -Onum | |||
이 옵션은 소스 파일 컴파일 시 사용할 최적화 수준을 지정합니다.
-Onum
여기서 은 다음 중
하나입니다.num
0최소 최적화입니다. 대부분의 최적화를 해제합니다. 최상의 디버그 뷰를 제공하는 반면 가장 낮은 수준의 최적화를 제공합니다.
1제한적
최적화입니다. 사용하지 않는 인라인 함수 및 사용하지 않는 정적 함수를 제거합니다. 디버그 뷰를 심각하게 저하시키는
최적화를 해제합니다. --debug와 함께 사용할 경우 코드가 한결 간결해진 만족스러운
디버그 뷰가 제공됩니다.
2높은
최적화. --debug와 함께 사용할 경우 소스 코드로의 객체 코드 매핑이 명확하지
않은 경우도 있기 때문에 다소 만족스럽지 않은 디버그 뷰가 제공될 수 있습니다.
이것이 기본 최적화 수준입니다.
3최대
최적화입니다. -O3은 -O2와 동일한 최적화를 수행하지만 -O2와 비교하여
생성된 코드에서 공간 최적화와 시간 최적화 간에 균형을 이루지 못하고 공간 또는 시간 중 한 쪽에 더 큰 비중을 둡니다.
즉, 다음과 같습니다.
-O3 -Otime은
이미지 크기가 증가되기는 하지만 -O2 -Otime보다 빠른 코드를 생성하기 위해 사용합니다.
-O3 -Ospace는 -O2 -Ospace보다
작은 코드를 생성하기 위해 사용하지만 성능이 저하될 수 있습니다.
또한 -O3은 다음과 같은 보다 적극적인 최적화를 추가로 수행합니다.
-O3 -Otime에 대해
루프 언롤링을 비롯한 고수준의 스칼라 최적화 코드 크기를 작게 작성하기 때문에 상당한 성능상의 장점이 있지만 빌드
시간이 더 길어집니다.
-O3 -Otime에 대한 보다 적극적인 인라인 및 자동
인라인
다중 파일 컴파일 기본 수행
--fpmode 옵션을 사용하여 특정 숫자 모델을 선택하는 경우 부동 소수점
코드의 성능에 영향을 줄 수 있습니다.
이 최적화에 대한 구현 정보는 이후 릴리스에서 변경될 수 있으므로 신뢰하지 마십시오.