2009-04-09
_ [Mozilla]
ビルド時にmakeのオプション -j2 を渡してるけど、実際には全部が全部パラレルで実行できるわけじゃない。
つまり-j2を指定しても、CPUが遊んでしまう時間帯がある。
フォアグラウンドのクライアントアプリや、同時多数アクセスのあるサーバアプリはユーザのオペレーションにすぐに応答することが求められるので、できるだけCPUを使わないことが要求されるが、ユーザのオペレーションが存在しないバッチ処理では、できるだけCPUを使って処理を速く終わらせることが要求される。
自動ビルドはバッチ処理なので、速ければ速いほどよい。
今回の場合では、-j2で1本をパラレルで走らせるよりは、シリアル2本をパラレルで走らせるほうが速い。はず。
で、Windowsベースで手軽にマルチスレッドでコマンドを実行する手段といえば、なかなか思いつかない。
とりあえず、フロントのmakeを1本立てて、そいつにビルドコマンドを実行させてみた。
一応できた。ビルド速度も1本当たりは当然遅くなったが、全体では確かに速くなった。
ただし現状では、ビルド環境ごとにしかパラレルで実行できないのが難だなあ。