Есть ли способ ускорить компиляцию C++ в Solaris Sun Studio 12?
-
13-09-2020 - |
Вопрос
Поскольку я компилирую свой код C++ на очень серверном компьютере (всего 32 или 64 ядра), есть ли способ настроить параметры компилятора, чтобы ускорить время компиляции?Например.чтобы сообщить компилятору о необходимости компилировать независимые файлы .cpp с использованием нескольких потоков.
Решение
Sun Studio включает в себя параллельную поддержку сборки в прилагаемой версии dmake
.
Смотрите
Другие советы
Это зависит от того, какой набор инструментов вы используете.
Если вы используете GNU Make, добавьте -j 32
к вашему вызову make, чтобы сообщить Make, чтобы он запускал 32 задания (например) параллельно.Просто убедитесь, что вы не исчерпываете оперативную память и в результате не портите файл подкачки.
Используйте что-то вроде Boost Jam, которое делает такого рода многопоточье для вас - и из моего опыта гораздо более эффективно, чем Multi-Threaded Make.
-xjobs
, которая делает компилятор вилкой несколькими потоками внутри.Для этого будет эффективным, вам, вероятно, придется пройти все файлы .cc с одним вызовом CC.