The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages. |
2月28日(米国時間)にPhoronixに掲載された記事「GCC Optimization Level Benchmarks With A 4GHz Intel Skylake CPU On Ubuntu 64-bit」が、GCC 5.3.1における最適化オプションの違いによるベンチマーク結果の違いを掲載した。それぞれ「-O0」「-O1」「-O2」「-O2 -march=native」「-O3」「-O3 -march=native」「-Ofast」「-Ofast -march=native」を指定してビルドしたバイナリのベンチマーク結果が掲載されている。
ベンチマークに使われたCPUはIntel Xeon E3-1280 v5 4.00GHz (8コア)、チップセットはIntel Sky Late、マザーボードにMSI C236A WORKSTATION (MS-7998) v1.0が使われている。ほとんどのケースで最適化レベルが高いほど高い性能を示している。すべてのベンチマーク結果は「Skylake Xeon GCC Compiler Optimization Tests|OpenBenchmarking.org」に掲載されている。
オプション-Oで指定する最適化レベルが高くなればなるほど、高速に動作するバイナリを生成できると知られているが、どの程度の高速化が見込めるかは記述されているソースコードに依存するほか、最適化オプションを高くすればするほどコンパイルにかかる時間が増える傾向が見られ、デバッグは困難になる。コンパイル時における最適化オプションの指定は高速に動作するバイナリを生成する上で有効な手段の1つとされている。