2011-04-18 40 views
4

不要任何人有一個想法,爲什麼LINQ表達的JIT編譯需要花費更多的時間在孩子的AppDomain,然後在默認的AppDomain?長達4倍。LINQ在孩子的AppDomain

+0

請提供您的基準測試代碼 – abatishchev 2011-04-20 10:38:11

回答

1

雖然沒有實際的分析,我只能做出以下猜測

  1. 有開銷創建一個新的AppDomain
  2. 孩子的AppDomain將不得不重新加載所有必要的組件少量。
  3. 如果您然後複製表達回父的AppDomain那麼你會與序列化的開銷被擊中。
  4. 如果您傳回編譯拉姆達方法,那麼你會得到擊中加載動態裝配到父的AppDomain的成本。