т.е. потоки тоже считаются как отдельные ядра получается?
Не только make, но все механизмы Linux считают гипертриэдинговые потоки как и ядра процессора, см.:
$ cat /proc/cpuinfo
Только вовлечение этих потоков в вычисления (не только make, но любые) повышает суммарную производительность не на 100%, как если бы это был процессор/ядро, а на 15-20% ... где-то встречалось указание 30% максимум.
Иногда не повышает вовсе, в зависимости от типа вычислительной нагрузки.
Пользователь решил продолжить мысль [time]12 Апрель 2015, 20:58:16[/time]:
j9 это черезчур, может сыграть обратный эффект замедляющий скорость компиляции.
Какой это такой обратный эффекет?
Пользователь решил продолжить мысль [time]12 Апрель 2015, 21:02:11[/time]:
Зачем -j9? -j8, т.к. у тебя 8 потоков, а не 9.
Вообще то говоря, значение параметра -j у make напрямую никак не связан с числом процессоров, ядер, или гипертриэдинговых потоков...
Параметр -j - это то, сколько раз быдет выполнять fork() при своём запуске make - число параллельных
процессов, в которые будет выполняться компиляция. Хоть на одном процессоре...
Другой вопрос, какая будет эффективность от соотношения -j и числа доступных процессоров.