私の同僚は昨日この質問を投稿しました:小さなDbContextでも7秒のEF起動時間。
彼のコードを取得し、それを可能な限り分離するために別のソリューションに移動した後、含まれているプロジェクトのプラットフォームターゲットがEFスタートアッププロセスの実行時間に大きな影響を与えていることがわかりました。
x64をターゲットにした場合、最初のDbContextをスピンアップするのに約7秒かかり、2番目のDbContextをスピンアップするのに1秒未満かかることがわかりました(x64もターゲットにしている同僚の調査結果と一致しています)。ただし、プラットフォームターゲットをx86に切り替えた場合、最初のDbContextのスピンアップ時間は約4秒短縮されて3.34633秒になり、2番目のDbContextはx64の場合と同じ時間がかかりました。
これを考えると、64ビットシステムと32ビットシステムを対象とする場合、EntityFrameworkは非常に異なる初期化プロセスを実行しているように見えます。誰かがこれを説明するために内部で何が起こっているのかについて何か洞察を持っていますか?