Boost rocks, it is great and extremely powerful, but I hate it everytime I build solution in my Visual Studio 7.1. 

It seems Boost has impact on build time (not positive). I cannot remove all Boost usage from my project to compare build times but I tried it on small projects and the difference is meaningful. 

I guess the problem is that Boost consists of thousands of header files which include themselves very extensively. So, when I include, say, `boost/function.hpp` into my header file, it may lead to including hundred of Boost headers.

Is there someone who experienced the same? Any ideas how to solve it?

Rough thoughts:

1. Add boost to precompiled headers? At least they will be parsed and kept in one file
2. Do explicit instantination for some Boost templates?
3. Prepare Boost headers somehow?
4. Do not include Boost to header files (sounds unreal)
5. ...

PS. Yep, Boost also uses hardcore templating that pretty hard to compiler I guess, so thousands of header files are not the only problem.