В Gentoo Linux можно установить MAKEOPTSпеременную, /etc/portage/make.confчтобы указать, makeсколько заданий должно выполняться параллельно при сборке пакетов. Поскольку у меня двухъядерный процессор, я наивно решил использовать -j2опцию: одна работа на ядро, поэтому у обоих есть чем заняться. «Проблема» в том, что существует множество ссылок, которые говорят пользователям, имеющим двухъядерный процессор, -j3вместо этого устанавливать опцию. Некоторые из них:
- Руководство Gentoo
- Gentoo Wiki
- Страница man make.conf (5)
Например, руководство Gentoo гласит:
Хороший выбор - это количество процессоров (или процессорных ядер) в вашей системе плюс один, но это правило не всегда идеально.
Но что является обоснованием для правила «ЦП + 1»? Почему дополнительная работа?
Страница man make.conf (5) даже говорит:
Предлагаемые настройки: между CPU + 1 и 2 * CPU + 1.
Я также прочитал раздел 5.4 (Параллельное выполнение) на makeинформационной странице и makeобъяснение справочной страницы для -jопции, но, похоже, там нет ответов.