1-O0 //optimization for compilation time (default)
2-O1 or -O //optimization for code size and execution time
3-O2 //optimization more for code size and execution time
4-O3 //optimization even more for code size and execution time
5-Os //optimization for code size
6-Ofast //O3 with fast none accurate math calculations