The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages. |
GCCのメーリングリストに「Comparing compile times and binary size for GCC compiling a few GCC releases」という興味深いメールが投函された。GCC 4.2から4.8まで、それぞれでコンパイルしたときのコンパイル時間と、コンパイル後のバイナリのサイズを比較した内容になっている。
比較が実施されたのはpowerpc64アーキテクチャのマシン。それぞれのバージョンはGCC 4.7.2を使ってビルドされている。GCC 4.4が含まれていないのは、デフォルトのオプションではビルドできなかったためだと説明がある。掲載されている時間は/usr/bin/timeが出力するユーザ時間。比較はそれぞれ次のとおり。
コンパイル時間はGCC 4.2も4.8もそれほど違いが見られない。これに比べ、コンパイル後のバイナリサイズには大きな差がでており、4.8.0でビルドされたcc1バイナリは、4.2.4でビルドされたものと比較して2倍ほどに増えている。GCCのバージョンが上がるごとに生成されるバイナリファイルのサイズが増えている傾向が見える。