私たちは大きなコードベースを持っています。私たちは最近、v1.54を上げるように動いて、boost :: signalsが廃止されたのでboost :: signals2に切り替えることにしました。boost :: signals2でコンパイルする時間が非常に遅い
私たちが見ている問題は、コンパイル時間が恐ろしいことです。例えば、小さな.cppファイルは、以前は4を取るのに20 +秒かかるでしょう。
同様に、生成に約10分かかりました私たちのライブラリ(大)の1つは、今では最大1時間かかります。私は、プリコンパイルされたヘッダー、マクロなどを使ってこれを改善する方法についてドキュメントを探し求めましたが、状況を大幅に改善するものはまだ見つけていません。
procmonでcl.exeを表示すると、boost :: signals2とmplライブラリに大量のIOが表示されます。
signal2が提供するスレッドの安全性は、この時点では「アップグレード」のプラグを引っ張って信号に戻すことに近いものです。私たちがあきらめる前に誰かがこれに関する提案や経験を持っていますか?
私たちはたくさんのRAM /ディスク/などでVS2012を使用しています。
プリコンパイル済みヘッダーを使用していますか? –
Signals2はvariadicテンプレートを使用していますが、VS2012でかなりのコストでエミュレートされています。 VS2013で修正されました。それに適応したブーストとデスクトップ上のVS2013ランディングの間に、数ヶ月を要します。 –
@HansPassant情報をいただき、ありがとうございました。 VS2013があなたの意見でシグナルライブラリに戻っていく最善の方法ですか?今のように、コードはコンパイル時間が遅いために使用できません。 – pennyowe