ので、多くのCPUコア(12と言う)とワークステーション上のソフトウェア・パッケージをコンパイルするには、コンフィギュレーション・ステージは、多くの場合、実際のコンパイル段階よりもはるかに長い時間がかかる./configureテストを一つずつんが、make -j実行するgccだけでなく、他のコマンドに並列に。
残りの11個のコアをほとんどの時間アイドル状態にして、遅いもの./configureが完了するのを待つのは、リソースの大きな浪費だと感じています。なぜテストを連続して行う必要があるのですか?各テストは互いに依存していますか?私は間違っているかもしれませんが、それらの大半は独立しているようです。
さらに重要なことは、スピードアップする方法はあります./configureか?
編集:状況を説明するために、GNU Coreutilsの例を示します
cd /dev/shm
rm -rf coreutils-8.9
tar -xzf coreutils-8.9.tar.gz
cd coreutils-8.9
time ./configure
time make -j24
結果:
# For `time ./configure`
real    4m39.662s
user    0m26.670s
sys     4m30.495s
# For `time make -j24`
real    0m42.085s
user    2m35.113s
sys     6m15.050s
coreutils-8.9、./configure6回より長くかかりますmake。が./configure使用少ないCPU時間(「ユーザー」&「SYS」の回で見て)それが並列化されていないので、それははるかに長い(「リアル」)かかります。テストを数回繰り返しましたが(関連ファイルはおそらくメモリキャッシュに残っています)、時間は10%以内です。