g++ optimization flags
-O0 //optimization for compilation time (default)
-O1 or -O //optimization for code size and execution time
-O2 //optimization more for code size and execution time
-O3 //optimization even more for code size and execution time
-Os //optimization for code size
-Ofast //O3 with fast none accurate math calculations