LINUX.ORG.RU

Вызов make с опцией -j8 из QtCreator

 , , ,


0

2

Собственно, собрав проект вручную заметил, осознал что при сборке через QtCreator он собирался в один поток, что в четыре раза медленнее, чем в восемь потоков.
Может есть какие-то опции для .pro файла или еще что-то? Гугл мне не помог :(
Подумываю искать вызов make в исходниках QtCreator'а и втыкать ему аргументом -j7, но надеюсь на более простое решение.

★★★★★

Ответ на: комментарий от EXL

Енто если есть соответствующая переменная в .pro файле вроде, если ее разраб туда не внедрил и не подставил ее при каждом вызове компилятора то не подхватит вроде.

safocl ★★
()

он собирался в один поток, что в четыре раза медленнее, чем в восемь потоков

8÷1=4

anonymous
()
Ответ на: комментарий от anonymous

На самом деле такое вполне может быть, может у него всего 4 файла )))

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от EXL

Вообще, export MAKEFLAGS="-j$(nproc)" как и другие переменные окружения, надо задавать в ~/.profile или, на худой конец, в ~/.bash_profile

~/.bashrc - для интерактивного режима, и логично, что ни qtcreator, ни другие GUI приложения не будут подхватывать настройки оттуда.

http://superuser.com/a/789465

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от yacuken

И что туда писать?

MAKEFLAGS="-j 5"

не сработало при настройки проекта заново с этим профилем

хотя... вроде работает, есть много потоков при сборке, однако в настройки оно не попало (параметры make)

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от anonymous

Во первых есть такая штука как синхронизация потоков, так что N потоков не равно увелечению скорости в N раз, во вторых четрые потока собирают немного медленнее (1 поток = 40с, 8 потоков = 10с, 4 потока = 15с), в третьих у меня AMD fx8320e, у этих проца 4 ядра нормальные, а еще 4 без своего fpu (если ничего не путаю).

SR_team ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.