make 에는 -j 옵션이 있고, 이 옵션은 한번에 수행할 수 있는 job 을 지정하는 옵션이다.
이 job의 수는 총 core 개수 + core 개수의 20% 를 추가하는 것이 가장 효율이 좋다고 알려져 있다. 즉
job 수 = core 개수 + round(core 개수 * 0.2)
가 된다.
즉 Q6600 같이 core가 4개라면 4 + round(4 * 0.2) = 5가 된다.
시스템 마다 이것을 계산하는 shell script를 짜면 아래와 같다.
#~/bin/sh
cores=`cat /proc/cpuinfo | grep cores | wc -l`
jobs=`echo "$cores + $cores*0.2"|bc`
echo $jobs|awk '{print int($1+0.5)}'