Полезен ли параллелизм thinlto в системе параллельной сборки? - PullRequest
0 голосов
/ 29 августа 2018

У меня есть система сборки, которая использует давнюю поддержку LTO в clang через флаг -flto.

Поддержка ThinLTO, добавленная в LLVM (https://clang.llvm.org/docs/ThinLTO.html), выглядит интересно, но я немного озадачен решением о запуске std::thread::hardware_concurrency потоков параллельной обработки в контексте системы сборки, в которой уже выполняются параллельные задания.

Если у вас есть система сборки, которая уже запускает поток на ядро ​​и выполняет несколько заданий компиляции и компоновки, имеет ли смысл для компоновщика предполагать, что он должен использовать все ядра или даже более одного?

Или имеет смысл вместо этого уменьшить фоновый параллелизм ThinLTO до 1 с флагами, задокументированными в https://clang.llvm.org/docs/ThinLTO.html#controlling-backend-parallelism? Есть ли какие-либо преимущества для ThinLTO по сравнению с обычным простым старым LTO, когда параллелизм был удален?

...