1. Templates
2. No pre-compiled headers
3. Bad header-organization
We have a reasonable sized desktop application 5 mb (release) / 19 mb (debug) that fully rebuilds in 10 s / 12 s (incremental < 2 s usually).
Yes, we have optimized using a RAM disk etc, but the main reason for the speed is No Templates and combining precompiled headers with efficient header-organization.
Some interesting links:
- http://gamesfromwithin.com/physical-structure-and-c-part-2-b...
- http://developers.sun.com/solaris/articles/CC_perf/content.h...