2009年3月18日水曜日

speedup build process

開発中は何度も gcc のりビルドを繰り返すことになるので、少しでもターンアラウンドタイムを短くしたい。


とりあえず configure オプションは必要最小限にする。C フロントエンドのみで、libgcc も disable に。
$ ../gcc-4.4-20090313/configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-languages=c --enable-threads --disable-win32-registry --without-x --enable-hash-synchronization --without-included-gettext --disable-libgcc --disable-nls --disable-bootstrap --disable-libssp --disable-libstdcxx-pch

Makefile を修正して、-O2 を -O0 にすると、デバッガで追いやすくなるし、ビルドスピードも上がる。

最近の CPU (core2duo とか)ならば、make -j2 のように並列度を上げてみる。

make all-gcc の他に、何か良い Make target は無いのだろうか。Ian が、途中の gcc に入ったところで ^C して、make cc1 すれば、cc1 だけ作れるよ、みたいなことを言っていた。

GCC の開発者たちはどうしてるんだろうか ? まぁ、そもそも libbackend.a を再リンクするだけでもかなりの時間がかかるのだから、あんまり抜本的な解決策は無いのかもしれない。

ELF ターゲットの場合は、GNU ld の代わりに gold を使うと、リンクスピードが上がるらしい。これは良いと思ったが、私の場合は Windows の PE ターゲットの開発なので、gold は使えないみたい…

0 件のコメント: