Re[2]: Долгая компиляция на с++ - смерть для больших проектов?
От: _hum_ Беларусь  
Дата: 04.05.16 07:46
Оценка:
Здравствуйте, SleepyDrago, Вы писали:

SD>Здравствуйте, _hum_, Вы писали:


__>>Не совсем понимаю, как разрабатываются большие проекты на С++? У меня он пока средний — около 2 Mb в архиве, и уже сейчас время перекомпиляции — около 20 минут (на двухядерном 2ГГц и 4Г памяти) ...

__>>Разработчики языка вообще в эту сторону смотрят?
SD>Компиляция больших с++ проектов это решенная инженерная задача. Просто, никто не делится решениями.
SD>Для интерактивной сборки разработчики используют 1-2 конфигурации. В них
  текст
SD>а) все разбито на бинарные модули (убирает линковку всего вместе), даже если финальная сборка это 1 исполняемый файл;
SD>б) в каждом модуле есть forward declarations где разрешен только небольшой набор типов.
SD>в) в каждом модуле есть pch
SD>г) автоматически мелкие cpp файлы объединяются группами (unity build), в теме был пример как это делать руками;
SD>д) компиляция запускается на кластере из множества машин (даже если это только машины коллег это все равно дает много);
SD>е) используется кеш с результатами компиляции (заполняется чистым билдом ночью).
SD>...

ну так, это же "ужас-ужас-ужас" — превращать подготовку к компиляции в отдельную инженерную задачу. эдак со временем стоит ожидать появления "специалиста по предкомпиляционной подготовке с++ проекта".

SD>в домашних условиях обычно никто не идет дальше первых трех пунктов и просто дозакупают железо тк "(на двухядерном 2ГГц и 4Г памяти)" бороться за время компиляции несерьезно.


я ж вам при вел пример — в "домашних условиях" на не слишком большом проекте на перекомпиляцию тратится 20-40 минут, что при разработке — непозволительная потеря времени.

SD>Настоящие неудобства большие/сложные проекты приносят, когда надо туда заливать большие изменения а не при компиляции =)


по-моему, эти проблемы ортогональны
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.