
John Maddock wrote:
That's certainly true for libraries like xpressive / spirit / ublas that make heavy use of template metaprogamming and/or expression templates.
Boost.Regex avoids this by moving most of the template instances you will likely use into the library (so they don't get instantiated in your object files), and precompiled headers are certainly a big win in this case.
You get really spoiled by split second compilation times. Perhaps one of my top memories related to programming is the first time I used the Borland Turbo Pascal compiler (early-to-mid 80's?) on a dual floppy PC. The competing Pascal compilers took several minutes for a 500 line program (with disk swapping mid way thru). Turbo Pascal was just DONE when you pressed the enter key. Less than a second, IIRC. My first thought was, "What did I do wrong ... it CAN'T be done already. No way!" Way. I have never experienced, before or since, such a quantum leap in technology. It revolutionized software development and transformed the task from mostly drudgery to "a hoot" (and my real job at the time was COBOL programming where you submitted a card deck and came back later for output from a multi-million $ computer .... you kids have it soooooo easy <g> .... sorry for the "war story").