Before my little weekend spree: Client took upto 10 minutes to build on my various boxes depending on how long before I started multi-tasking and what I was multi-tasking. Probably took around 5-6 minutes on Martini’s machine, and probably 6 minutes for a normal build on my work box if I left it alone. 4 minutes for a non-optimized debug build.
After: For a full, optimized build, the compile takes 55 seconds (61 seconds if you do a full rebuild including our teulKit network library). The link phase takes 2.5 minutes, most of which is “Generating code” (whole program optimization/link time code generation). So, it now takes less time for a complete build than it used to take to build a quick debug build. The debug build takes 125 seconds.
We can probably shave another 20-30 seconds off the debug build and 30-60 seconds off the release build with a little simple reorganization. For instance, one of the header files with the most overhead has a dual-use which makes it unsuitable, but I think I can fix that with a little project configuration.