makeでジョブ数を増やしてビルドの高速化

はじめに

makeコマンドでは

$ make -j2

ジョブ数を2個に増やすことができ、ビルド時間を短くすることができる。-jNでジョブ数Nとして設定できる。

実験

どれくらい速くなるかベンチマークをとってみた。

環境

まず、ベンチマーク用に程よい大きさのソースを用意。今回はnginx-1.1.15を使った。
以下、ベンチマークの環境。

nginxで普通に./configureするとrewriteモジュールが足りないとエラーをはくので、今回は

$ ./configure --without-http_rewrite_module

とした。

計測

計測にはtimeコマンドを使い、realの値をベンチマークの結果とした。
ジョブ数1-6個で計測した。
計測回数はそれぞれ1回。

結果
ジョブ数 時間[s]
1 28.10
2 17.85
3 17.92
4 18.79
5 18.41
6 17.28

まとめ

ジョブ数1個じゃさすがに遅いけど、2個以上だと速い。2個以上のベンチマークは各環境ごとに多く取らないといけない。今回は1回しか取っていないことに注意。
-jNオプションは積極的に使うべき。
コーヒータイムを長くしたいときは-jNオプションを外すべき。