子 AppDomain 中的 LINQ

发布于 2024-11-02 07:05:27 字数 76 浏览 4 评论 0原文

有人知道为什么 LINQ 表达式的 JIT 编译在子 AppDomain 中比在默认 AppDomain 中花费更多时间吗?长达 4 倍。

Do anybody have an idea, why JIT compilation of a LINQ expression takes more time in child AppDomain then in the default AppDomain? Up to 4 times longer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明月夜 2024-11-09 07:05:27

虽然没有实际的分析,我只能做出以下猜测

  1. 创建新的 AppDomain 会产生少量开销
  2. 子 AppDomain 将必须再次重新加载所有必要的程序集。
  3. 如果您随后将表达式复制回父 AppDomain,那么您将受到序列化成本的影响。
  4. 如果您要传回已编译的 lambda 方法,那么您将受到将动态程序集加载到父 AppDomain 中的成本的影响。

While without actual profiling I can only make the following guesses

  1. There is a small amount of overhead creating a new AppDomain
  2. The child AppDomain will have to reload all of the necessary assemblies again.
  3. If you are then copying the expression back to the parent AppDomain then you'll be hit with the serialization cost.
  4. If you are passing back a compiled lambda method, then you'll get hit with the cost of loading the dynamic assembly into the parent AppDomain.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文