Quando (re) construo sistemas grandes em um computador desktop / laptop, eu digo makepara usar mais de um thread para acelerar a velocidade de compilação, assim:
$ make -j$[ $K * $C ]
Onde $Cé suposto para indicar o número de núcleos (que pode assumir a ser um número com um dígito) a máquina tem, ao mesmo tempo $Ké algo que pode variar de 2que 4, dependendo do meu humor.
Por exemplo, posso dizer make -j12se tenho 4 núcleos, indicando o makeuso de até 12 threads.
Minha lógica é que, se eu usar apenas $Cthreads, os núcleos ficarão ociosos enquanto os processos estiverem ocupados na busca de dados das unidades. Mas se eu não limitar o número de threads (ou seja make -j), corro o risco de perder tempo alternando contextos, ficando sem memória ou pior . Vamos supor que a máquina tenha $Mshows de memória ( $Mna ordem de 10).
Então, eu queria saber se existe uma estratégia estabelecida para escolher o número mais eficiente de threads a serem executados.
