We have a large codebase which has successfully used boost::signals for years. We recently moved to boost v1.54 and decided that since boost::signals was deprecated we would switch to boost::signals2.

The issue we are seeing is that compile times are horrendous. For example, a small .cpp file will now take 20+ seconds where it used to take 4.

Similarly, one of our libraries (large) that used to take roughly 10 minutes to generate now takes up to an hour. I have searched all around for documentation on how to improve this through precompiled headers, macros, etc but have yet to find anything that improves the situation greatly.

Viewing cl.exe in procmon reveals a massive amount of IO into the boost::signals2 and mpl libraries.

We don't need the thread safety that signals2 provides at at this point we are close to pulling the plug on the 'upgrade' and reverting back to signals. Does anyone have any suggestions or experience with this before we give up?

We are using VS2012 with plenty of RAM/disk/etc.

Edit
Report