1

GCC(GDC)のDフロントエンドを改善しようとしています。

GCC-4.3.1 でコンパイルされた d フロントエンドを取得しました。しかし、GCC-4.1.2 を使ったときと比べるとビルドにものすごく時間がかかりました。これは gdc のバージョンです。

組み込みの仕様を使用します。

ターゲット: i686-pc-linux-gnu

構成: ../configure --enable-languages=d --prefix=/usr/local/gdc --enable-static --disable-shared

スレッドモデル: posix

gcc バージョン 4.3.1 (GCC)

ビルドに30分近くかかったと言いますが、4.1.2だと10分くらいかかりました。かかる時間を短縮するにはどうすればよいですか?私がやろうとしているのは、D フォルダー内にあるものを変更することだけです。

4

3 に答える 3

1

多数のフォルダーのうち 1 つのフォルダーのみを変更する場合、GCC のビルド システム (ベースGNU make) は、変更に依存するファイルのみを再コンパイルします。したがって、長持ちするのは最初のビルドだけです。通常、ファイルの変更後に gcc を再構築するのに 5 分もかかりません。

-j オプションを使用することも役に立ちます。make可能であれば、一度に複数のコンパイルを実行します。標準的なアドバイスは、に設定することnumber of cores + 1です。あなたの場合、それは-j2. 明らかに RAM の使用量が 2 倍になるので、注意してください。

それ以外には、ほとんど助けはありません。gcc の一部はさまざまな言語で使用されるため、1 つの言語しか使用しない場合でも、gcc のかなりの部分を構築する可能性があります。

于 2009-09-06T03:33:07.940 に答える
0

make -j4CPU コアの数に応じて、以上を使用します。

于 2009-09-06T02:31:16.683 に答える
-1

わかりましたので、これからは -j2 を使用します。

問題の一部は、GCC を一度ビルドした後、D フォルダー内の何かを変更した場合にそれを再構成することだったので、make をもう一度実行した場合よりもビルド時間がはるかに長くなり、何を理解したかを理解させたことが原因の 1 つだと思います。かわった。

これで、ビルド時間は耐えられます。:)

于 2009-09-06T20:44:27.913 に答える