2011-04-18 33 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的成本。