【问题标题】:How does JIT compiling works for caching?JIT 编译如何用于缓存?
【发布时间】:2010-10-13 22:54:27
【问题描述】:

当你用 C# 编写应用程序,然后运行它时,它会不会在下次运行时不再编译,或者每次应用程序启动时都会重新编译所有使用的内容?

JIT 编译如何用于缓存?

【问题讨论】:

    标签: c# .net jit


    【解决方案1】:

    对于任何不在 ngen'd 中的 DLL,每次运行应用程序时,它都会重新 JIT 使用的代码。在运行相同的非 ngen'd DLL 之间没有 JIT 代码缓存。

    编辑清除了 GAC 和 NGEN 的错误

    【讨论】:

    • 据我所知,NGEN存储和GAC是两个不同的东西。没有 GAC,NGEN 有点意义,但 GAC 不会取代 NGEN。
    • 对于显然问初学者问题的人来说,这个答案充满了非常专业的术语:)。而且 ngen 并不完全执行“pre-JIT”,因为它无法根据运行时行为进行任何优化。
    • @Toro,你是对的。我记错了 GAC'ing 强制使用 ngen,但我认为我对此不正确。
    • 是的,使用 ngen,您将失去运行时优化。
    猜你喜欢
    • 1970-01-01
    • 2019-11-18
    • 2011-03-18
    • 2010-12-31
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    相关资源
    最近更新 更多