по сути архитектурно так и есть - у тебя базовая область + конечный код с малосвязными C with classes хедерами, который люто жрёт время
куча времени на шаблонных инстансах из-за разбиения на TU, но можно подавлять шаблонные инстанцирования - в дебажной инкременталке производительность не нужна
Соотношение своего кода в tu ко внешнему - чуть ли не 1/100, и здесь дело не в производительности. В реальности весь код твоей программы слитый в один tu может собираться так же, как если ты собираешь один tu. В среднем оно будет чуть дольше, если у тебя не лям строк кода