Create TOC

2010년 10월 20일

core 수에 따른 make의 job 최적화

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)}'