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 notada?

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

    
por LoganJamison 09.05.2017 / 23:23

1 resposta

1

Sim: link

GNU make knows how to execute several recipes at once. Normally, make will execute only one recipe at a time, waiting for it to finish before executing the next. However, the ‘-j’ or ‘--jobs’ option tells make to execute many recipes simultaneously. You can inhibit parallelism in a particular makefile with the .NOTPARALLEL pseudo-target (see Special Built-in Target Names).

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?

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

O restante da pergunta não é algo que possamos responder aqui: que tipo de carga seus aplicativos colocarão em um servidor MAKE?

    
por 10.05.2017 / 00:40