Какие методы можно использовать для ускорения времени компиляции C ++? - PullRequest
224 голосов
/ 17 декабря 2008

Какие методы могут быть использованы для ускорения времени компиляции C ++?

Этот вопрос возник в некоторых комментариях к вопросу переполнения стека Стиль программирования C ++ , и мне интересно узнать, какие есть идеи.

Я видел связанный вопрос, Почему компиляция C ++ занимает так много времени? , но это не дает много решений.


Проголосуйте, здесь есть поддержка Visual Studio для совместного использования предварительно скомпилированных заголовков между проектами

Ответы [ 24 ]

2 голосов
/ 16 декабря 2013

Быстрее жестких дисков.

Компиляторы записывают много (и, возможно, огромных) файлов на диск. Работа с SSD вместо обычного жесткого диска и время компиляции намного меньше.

2 голосов
/ 17 декабря 2008

Если у вас многоядерный процессор, Visual Studio (2005 и более поздние версии), а также GCC поддерживают многопроцессорные компиляции. Это что-то, чтобы включить, если у вас есть оборудование, конечно.

2 голосов
/ 02 декабря 2009

В Linux (и, возможно, в некоторых других * NIX) вы действительно можете ускорить компиляцию, НЕ НАЧИНАЯ на выходе и изменив на еще TTY.

Вот эксперимент: printf замедляет мою программу

1 голос
/ 06 сентября 2013

Хотя это и не «техника», я не мог понять, как проекты Win32 со многими исходными файлами компилируются быстрее, чем мой пустой проект «Hello World». Таким образом, я надеюсь, что это поможет кому-то, как это сделал я.

В Visual Studio одним из вариантов увеличения времени компиляции является добавочное связывание ( / INCREMENTAL ). Он несовместим с генерацией кода времени компоновки ( / LTCG ), поэтому не забывайте отключать инкрементные ссылки при выполнении сборок выпуска.

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