GCC -O0、-O1、-O2、-O3、-Ofast 高速化比較

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つとされている。

<お知らせ>
ITソリューション検討Information

マイナビニュースのIT Search+では、ITソリューションの検討に役立つ情報を掲載しています。
ここでは、IT Search+の人気記事ベスト3をご紹介。ぜひ、ビジネスにお役立てください。



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

求人情報