Есть ли способ make
использовать многопоточность (6 потоков идеально подходит для моей системы) в масштабе всей системы вместо простого добавления -j6
в командную строку? Так что, если я бегу make
, он действует так же, как если бы я бегал make -j6
? Я хочу эту функциональность, потому что я устанавливаю много пакетов из AUR, используя pacaur
(я нахожусь на Arch), поэтому я не запускаю команду make напрямую, но я все же хотел бы многопоточность для более быстрой сборки пакетов.
command-line
compiling
make
multithreading
markasoftware
источник
источник
MAKEFLAGS='-j 6'
сборке пакетов, но попробуйте выполнить настройку перед вызовом install / build и посмотрите, насколько это хорошо?Ответы:
(pacaur использует makepkg, см. https://wiki.archlinux.org/index.php/Makepkg )
В
/etc/makepkg.conf
add,MAKEFLAGS="-j$(expr $(nproc) \+ 1)"
чтобы запустить #cores + 1 одновременно с компиляцией заданий.При использовании bash вы также можете добавить
export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"
в свой,~/.bashrc
чтобы сделать это значение по умолчанию для всехmake
команд, а не только для пакетов AUR.источник