Ускорение сборки C++-проекта

В этом блоге я много пишу о языке C++, о том, какие в нём есть примитивы, которые помогают нам сделать результирующий код лучше и быстрее. Но я никогда не затрагивал другой аспект разработки, а именно: улучшение качества жизни программиста. Одним из наиболее раздражающих аспектов любой разработки, на мой взгляд, является временной интервал между написанием кода и получением результата. Невероятно сложно разрабатывать программу, когда между применением гипотезы к коду и её проверкой в продукте проходит больше, чем N секунд, где N — это предельное время, после которого программист начинает испытывать раздражение (или наоборот). Конечно, N у всех разное (у меня это чаще всего в районе минуты), так как проекты разные и пределы терпения, соответственно, тоже. В цепочке гипотеза-результат есть немало звеньев, но в настоящей статье мы поговорим только об одном — времени сборки, а точнее: как можно ускорить время сборки C++-проекта. [Ещё]