Лично я предпочел бы более медленную компиляцию, чем не иметь представления (видимости) о зависимости. Тем не менее, существуют ограничения для всего.
Поскольку у каждого проекта есть свой предварительно скомпилированный заголовочный файл, я бы просто добавил туда общие для всех включения. Скажем, если в проекте используются некоторые заголовки надстроек, они бы хорошо подошли, поскольку они будут использоваться всем проектом, а вы их не меняете. Следовательно, вставляйте редко / никогда не меняющиеся заголовки в предварительно скомпилированные заголовки, такие как системные или сторонние файлы.
Что касается скорости компиляции, я бы предпочел полагаться как можно больше на предварительное объявление вещей, разделение на более мелкие библиотеки и попытаться выяснить, можно ли организовать вещи таким образом, чтобы изменчивый код не влиял на перекомпиляцию многих других программ .