Использует ли 'make' преимущества нескольких ядер / потоков? (Linux)

1400
LoganJamison

Мы рассматриваем новую рабочую станцию ​​(будет работать с Fedora 25/26) и хотели бы знать, каким будет хороший процессор. Для начала мне нужно знать, сколько ядер мне нужно. Чтобы помочь решить это, я хочу посмотреть, как одно из приложений я буду использовать много преформ.

Использует ли 'make' преимущества многоядерности / многопоточности? А как насчет многопроцессорных? Будет ли, например, ядро ​​значительно короче с несколькими ядрами или разница не будет заметна?

Я не делаю научных расчетов здесь, поэтому разница в несколько миллисекунд не будет беспокоить меня.

0
Проверьте `make` [man-страница] (https://linux.die.net/man/1/make), в частности, параметр` -j`. Mokubai 6 лет назад 3
* «Использует ли 'make' преимущества многоядерности / многопоточности?" * - Да, `make` способен выполнять одновременные задания. sawdust 6 лет назад 0
Под этим вы подразумеваете, что я могу запускать несколько экземпляров make одновременно или что один экземпляр make может использовать преимущества нескольких ядер? Страница руководства не так точна. LoganJamison 6 лет назад 0

1 ответ на вопрос

1
music2myear

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

GNU make знает, как выполнить несколько рецептов одновременно. Обычно, make будет выполнять только один рецепт за раз, ожидая его завершения, прежде чем выполнить следующий. Тем не менее, опция '-j' или '--jobs' указывает make выполнять много рецептов одновременно. Вы можете запретить параллелизм в конкретном make-файле с помощью псевдо-цели .NOTPARALLEL (см. Имена специальных встроенных целей).

Вопрос, который вам нужно задать, заключается не в том, может ли MAKE использовать преимущества нескольких потоков, а в том, НУЖНО ли вам, чтобы воспользоваться этим. Являются ли приложения, которые вы делаете, такими, которые MAKE может скомпилировать в несколько отдельных рецептов?

Хотя, если честно, сегодня найти не многоядерный процессор исключительно сложно, так почему даже вопрос? Если вы работаете с бюджетом, ваш компьютер, скорее всего, будет иметь как минимум 4 логических процессора.

На остальную часть вопроса мы не можем ответить здесь: какие нагрузки будут размещать ваши приложения на сервере MAKE?

Я планировал, возможно, добавить процессор Ryzen, но я также рассматривал более дешевый процессор с более высокой тактовой частотой и меньшим количеством ядер / потоков и, возможно, MoBo с форм-фактором mini-ITX (для небольшого случая, может быть, как Ryzen идет в Micro-ATX, только если я правильно помню). LoganJamison 6 лет назад 1

Похожие вопросы