какие флаги улучшат время компиляции gcc / clang? - PullRequest
4 голосов
/ 06 января 2012

Какие флаги для gcc или clang улучшат время компиляции? Мне требуется, чтобы отладка была включена, но любые другие функции можно отключить бесплатно, если они приведут к более быстрой компиляции.

Я знаю, что существует множество других способов улучшить время компиляции, но меня интересует только эта область.

Ответы [ 6 ]

6 голосов
/ 06 января 2012

Наибольший выигрыш во времени компиляции достигается за счет исключения большей части работы, выполняемой компилятором - обычно это оптимизация. Поэтому не включайте флаги оптимизации (-O).

3 голосов
/ 27 ноября 2012

Вы также можете попробовать использовать предварительно скомпилированные заголовки.

3 голосов
/ 27 ноября 2012

Что касается GCC, вы можете попробовать многопоточную компиляцию (флаг -jX, где X - количество ядер, которое у вас +1, согласно Сокращение времени компиляции статья в Qt Center).

ОБНОВЛЕНИЕ: Кажется, я допустил ошибку: -jX - это флаг 'make', а не GCC. Так что это улучшит время компоновки, если вы используете систему сборки make-based.

1 голос
/ 15 июня 2012

Попробуйте -O1, несмотря на то, что это противоречит интуиции, может ускорить компиляцию по сравнению с -O0.Также проверьте ccache

0 голосов
/ 26 марта 2018

Если у вас есть доступ к большему количеству процессоров в сети, вы можете использовать distcc

0 голосов
/ 15 июня 2012

Если мы начнем с нашей базовой строки как «компиляция без флагов», то вы не сможете установить флаги, которые увеличат время компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...