
Did you try precompiling header files?
I didn't -- I've only ever used pch with msvc so I didn't think to try it.
My results are:
inclusion 2,6 s (-02+link) precompilation 1,45 s (-02+link) diff *1.8*
1.45 seconds is still a large amount of time to add for inclusion of a single mutex header. As a concrete example, including mutex.hpp pulls in 50 date_time headers even if I'm not going to use timed_mutex. If timed_mutex were implemented in a cpp file, system_time could be forward-declared. The locks also don't look like they need the definition of system_time. I'll have to do some experimentation with this stuff and submit a patch if I can get compile times down. I don't want to derail this thread into something Boost.Thread-specific. Josh