Есть ли способ ускорить компиляцию C ++ в Solaris Sun Studio 12? - PullRequest
4 голосов
/ 09 июля 2010

Поскольку я компилирую свой код C ++ на очень серверной машине (всего 32 или 64 ядра), существует ли способ настройки параметров компилятора для ускорения времени компиляции?Например, чтобы указать компилятору компилировать независимые файлы .cpp, используя несколько потоков.

Ответы [ 4 ]

4 голосов
/ 09 июля 2010

Sun Studio включает поддержку параллельной сборки во включенную dmake версию make. Подробнее см. Руководство по dmake .

4 голосов
/ 09 июля 2010

Это зависит от того, какой набор инструментов вы используете.

Если вы используете GNU Make, то добавьте -j 32 к вашему вызову make, чтобы сказать Make для запуска 32 заданий (например) параллельно.Просто убедитесь, что вы не исчерпываете ОЗУ и в результате уничтожаете файл подкачки.

3 голосов
/ 09 июля 2010

Используйте что-то вроде Boost JAM, которое выполняет для вас такого рода многопоточность - и, по моему опыту, гораздо более эффективно, чем многопоточные.

0 голосов
/ 25 марта 2011

Компилятор Sun C ++ также имеет параметр -xjobs, который заставляет компилятор внутренне разветвляться на несколько потоков.Чтобы это было эффективным, вам, вероятно, придется передать все файлы .cc на один вызов CC.

...