makeで並列処理

並列処理を行うように作っていないプログラムは、マルチCPUのマシンで動かしてもCPU1個しか使いません。並列処理を行うようにプログラムを書くのは大変ですが、一番簡単にマルチCPUの恩恵を受ける方法は複数のプログラムを同時に動かすことです。もちろん、片方の結果をもう片方が使うようなプログラムはダメですが。

makeはデフォルトでは逐次的にプログラムを実行しますが、-jオプションをつけると、依存関係を元にして、依存していないプログラムを並列に実行してくれます。make -j 2 のように数字を指定すると、最大のプロセス数を指定できます。デフォルトは-j 1ってことですね。数字を指定しないと、制限なしです。基本的にはCPUの数くらいがいいと思います。