O 'make' tira proveito de múltiplos núcleos / threads? (linux)


0

Estamos considerando uma nova estação de trabalho (estará rodando o Fedora 25/26), e gostaríamos de saber o que uma boa CPU seria. Para começar, preciso saber quantos núcleos preciso. Para ajudar a decidir isso, eu quero ver como uma das aplicações eu vou usar muito pré-formados.

O 'make' tira vantagem do multi-core / multi-thread? E quanto a multi-CPU? Faria o Kernel, por exemplo, ser significativamente mais curto com múltiplos núcleos, ou a diferença não seria perceptível?

Eu não estou fazendo cálculos científicos aqui, então uma diferença de alguns milissegundos não me incomoda.


3
Verifique a make página de manual especificamente a -jopção.
— Mokubai

"O 'make' tira vantagem do multi-core / multi-thread?" - Sim, makeé capaz de executar trabalhos simultâneos.
— serragem

Com isso, você quer dizer que posso executar várias instâncias de 'make' ao mesmo tempo, ou que uma instância 'make' pode tirar proveito de vários núcleos? A página man não é tão precisa.
— LoganJamison

Respostas:


2

Sim: https://www.gnu.org/software/make/manual/html_node/Parallel.html

O GNU make sabe como executar várias receitas de uma só vez. Normalmente, o make executará apenas uma receita de cada vez, esperando que ela termine antes de executar a próxima. No entanto, a opção '-j' ou '--jobs' diz ao make para executar várias receitas simultaneamente. Você pode inibir o paralelismo em um makefile específico com o pseudo-destino .NOTPARALLEL (consulte Nomes de Destino Internos Especiais).

A questão que você precisa perguntar não é se o MAKE pode tirar proveito de vários threads, mas se você PRECISA para tirar proveito disso. A (s) aplicação (ões) estão fazendo o tipo que pode ser compilado em várias receitas discretas por MAKE?

Porém, para ser honesto, é excepcionalmente difícil encontrar um processador não multicore hoje, então por que até mesmo a pergunta? Se você está indo orçamento, seu computador provavelmente terá pelo menos 4 unidades de processamento lógico.

O resto da questão não é algo que podemos responder aqui: Que tipo de cargas seus aplicativos colocarão em um servidor MAKE?


1
Eu estava planejando adicionar um processador Ryzen, mas também estava pensando em um processador de baixo custo com maior velocidade de clock e menos núcleos / threads, e possivelmente um MoBo com fator de forma mini-ITX (para um case pequeno, talvez, como Ryzen só vai para o Micro-ATX se bem me lembro).
— LoganJamison
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.