C/C++] gcc 최적화 옵션
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Optimize Options (Using the GNU Compiler Collection (GCC))
Allow the built-in functions ceil, floor, round and trunc, and their float and long double variants, to generate code that raises the “inexact” floating-point exception for noninteger arguments. ISO C99 and C11 allow these functions to raise the “ine
gcc.gnu.org
모든 최적화 플래그에 대해 다루지는 않으며, 플래그를 묶어서 활성화하는 옵션을 서술.
-O0
기본값. 최대한 빠르게 컴파일을 수행
-O, -O1
기본 최적화. 컴파일 타임을 지나치게 희생하지 않는 선에서 최적화
대체로 권장되는 최적화 방식
-O2
실행 파일의 크기를 가능한 키우지 않는 선에서 최적화
O1보다 컴파일 시간이 늘어남
-O3
실행 파일의 크기를 상관하지 않고 가능한 모든 최적화 방식 활용
O2보다 컴파일 시간이 늘어남
-Ofast
비표준적인 최적화까지 활용.
주로 수학 계산 등에 비표준적인 최적화가 이루어짐. -ffast-math 참고.
-Os
실행 파일 크기 최적화. O2의 최적화를 적용하되 코드의 크기를 증가시키는 최적화는 제외.
-Oz
실행 속도를 희생하더라도 크기를 최대한 줄이는 최적화. Os와 비슷한 O2 최적화 적용.