VSC ++プロジェクトを高速にコンパイルして開始するためにどのような手法を使用していますか?
私たちにとって、特にすべてのdllのロードには長い時間がかかります。これをスピードアップする方法はありますか?プロジェクトは大量の.dllをロードし、それらのいくつかは特に遅いです。
プロジェクトにユニティビルドを使用するようになったので、すでに非常に高速にコンパイルされています。=)
ありがとう!
VSC ++プロジェクトを高速にコンパイルして開始するためにどのような手法を使用していますか?
私たちにとって、特にすべてのdllのロードには長い時間がかかります。これをスピードアップする方法はありますか?プロジェクトは大量の.dllをロードし、それらのいくつかは特に遅いです。
プロジェクトにユニティビルドを使用するようになったので、すでに非常に高速にコンパイルされています。=)
ありがとう!
DLLには、デフォルトのロード場所が埋め込まれています。これは通常、開発ツールによってデフォルトですべてのDLLの同じアドレスに設定されます。つまり、DLLがメモリにロードされると、多くの衝突が発生し、DLLのアドレスを変更して、空きメモリの場所にロードする必要があります。多数のDLL依存関係があるプロジェクトで作業する場合、DLLのデフォルトアドレスを設定することで、ロード時間を大幅に節約することができました。
何が起こっているのか、そしてそれがどのように役立つのかについてのより完全な説明は、drdobbsで見つけることができます。
私がこれを行ってから数年が経ちましたので、今は時代遅れかもしれません。
このルートをたどると、 .netではうまく機能しない可能性があることを覚えておく価値があります。
遅延ロードされたライブラリを使用します。これは単純なコンパイル設定の変更です(通常、コードの変更は必要ありません)が、非常に大きな改善を提供できます。
もちろん、実際に使用する場合でも、これらのDLLのロード時間はありますが、DLLが多数ある場合は、すべてのDLLを常に使用しない可能性も高くなります。