Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top