No Gentoo Linux, é possível definir a MAKEOPTSvariável /etc/portage/make.confpara dizer makequantos trabalhos ela deve executar em paralelo ao criar pacotes. Como tenho uma CPU de núcleo duplo, ingenuamente optei por usar a -j2opção: um trabalho por núcleo, para que ambos tenham algo a fazer. O "problema" é que existem muitas referências que dizem aos usuários que possuem uma CPU de núcleo duplo para definir a -j3opção. Alguns deles são:
- Manual do Gentoo
- Wiki do Gentoo
- Página do manual make.conf (5)
Por exemplo, o manual do Gentoo diz:
Uma boa opção é o número de CPUs (ou núcleos de CPU) em seu sistema mais uma, mas essa diretriz nem sempre é perfeita.
Mas qual é a justificativa para a regra "CPUs + 1"? Por que o trabalho extra?
A página do manual make.conf (5) diz:
As configurações sugeridas estão entre CPUs + 1 e 2 * CPUs + 1.
Também li a seção 5.4 (Execução Paralela) na makepágina de informações e na makeexplicação da página de manual da -jopção, mas parece que não há respostas lá.