Benchmarking The New Optimization Level In GCC 4.8
GCC 4.8 is set to introduce a new optimization level that provides fast compilation performance and decent run-time performance of the resulting binary while still providing a superior debugging experience. Here are benchmarks of this new GCC general optimization level (-Og) compared to the other long-standing compiler optimization levels.
The -Og optimization level was first talked about on Phoronix last September. This new optimization level isn't for providing maximum performance of binaries but rather to provide decent performance while still being friendly for developers wishing to debug the binaries. This level is to "optimize for debugging experience rather than speed or size." This level, according to GCC developers, should be better than the default -O0 optimization level.
This new optimization level will be found in GCC 4.8.0 to be released around March or April of this year. For this Phoronix benchmarking of a GCC 4.8.0 snapshot from late January, the -Og optimization level was compared to -Os, -O0, -O1, -O2, -O3, and -Ofast. For those not familiar with the different optimization levels, see the GCC documentation. The benchmarks in this article are just looking at the performance of the resulting binary and not the debuggability of the binary or other aspects.