Имеется двуядрёный процессор. Хочется задействовать оба ядра, зря что ли ему второе нужно?
Собственно вопрос: что писать в командной строке чтобы создать два или более потока при компиляции какой-либо программы?
Говорю сразу: сам не нагуглил.
Robin Hood: Компилирование в несколько потоков
-j3 если память не изменяет
только это должен еще и сам софт уметь
Задам вопрос поконкретнее.
Вот я к примеру компилирую ядро:
make mrproper
make xconfig
make
make modules_install install
То есть надо писать "make -j3"?
вот там вот в xconfig есть пимпочка поддержки многоядерности
-j - это запуск паралельных процессов компиляции, к распаралеливанию потоков на межядерном взаимодействии имеет отношение непосредственно компилятор..
Я привел неудачный пример с компиляцией ядра. Меня могли не так понять. Речь шла не о поддержке многоядерности ядром, а о том как эту многоядерность задействовать именно в процессе компиляции какой-либо программы.
Кстати, я тут решил потестить сборку из исходников wine-0.9.40. Вот результаты:
make: 32m30s
make -j2: 17m47s
make -j4: 17m47s
make -j8: 16m57s
make -j16: 16m38s
make -j (количество потоков не ограничено): ноут завис. Поэтому разумно всё таки ограничивать количество потоков.
Вот из-за этих 40-50% все и затевалось.
Всем спасибо.
P.S. В LXF92(май) тестили Intel Core 2 Quad. Результаты в случае с компиляцией схожие.
<span class='smallblacktext'>[ Редактирование 22.08.2007 - 20:36:45 ]</span>
Последние комментарии
10 лет 2 недели назад
10 лет 21 неделя назад
10 лет 31 неделя назад
10 лет 32 недели назад
11 лет 21 неделя назад
11 лет 21 неделя назад
11 лет 21 неделя назад
11 лет 22 недели назад
11 лет 22 недели назад
11 лет 23 недели назад