何年もの間、boost::signals をうまく使用してきた大規模なコードベースがあります。最近、boost v1.54 に移行し、boost::signals が廃止されたため、boost::signals2 に切り替えることにしました。
私たちが見ている問題は、コンパイル時間が恐ろしいことです。たとえば、小さな .cpp ファイルは、以前は 4 秒かかっていたところ、20 秒以上かかるようになりました。
同様に、以前は生成に約 10 分かかっていたライブラリ (大) の 1 つが、現在では最大 1 時間かかります。プリコンパイルされたヘッダーやマクロなどを使用してこれを改善する方法に関するドキュメントをあちこち検索しましたが、状況を大幅に改善するものはまだ見つかりません。
procmon で cl.exe を表示すると、boost::signals2 および mpl ライブラリへの大量の IO が明らかになります。
この時点で、signals2 が提供するスレッド セーフは必要ありません。「アップグレード」のプラグを抜いて、シグナルに戻ろうとしています。あきらめる前に、これに関する提案や経験はありますか?
十分なRAM /ディスクなどを備えたVS2012を使用しています。