【发布时间】:2012-11-14 07:53:32
【问题描述】:
.NET 4.5 的一项新性能增强是引入了“MultiCode JIT”。
更多详情请见here。
我已经尝试过了,但它似乎对我的应用程序没有影响。
我感兴趣的原因是我的应用程序 (IronScheme) 需要很长时间才能启动,如果不是 NGEN'd,这意味着启动时会涉及相当多的 JIT'ng。 (1.4 秒对比 NGEN 时的 0.1 秒)。
我已按照有关如何启用此功能的说明进行操作,我可以看到创建了一个“小”(4-12KB)。但在后续启动时,似乎对提高启动时间完全没有影响。仍然是 1.4 秒。
有没有人在实践中真正看到(或制作)过这项工作?
另外,对哪些代码将被“跟踪”有任何限制吗?例如:程序集加载上下文、瞬态程序集等。我问这个是因为创建的文件似乎永远不会增长,但实际上我正在生成大量代码(在瞬态程序集中)。
我遇到的一个错误是SetProfileRoot 似乎不理解 / 作为路径分隔符,请务必使用 \ 。
【问题讨论】:
-
我已经运行了一段时间,但我不知道它是否真的有效......
-
FWIW,当我为我的主应用程序(命令行应用程序)启用它时,启动时间从 1.8 秒变为 1.2 秒,性能提高了 33%。我可以通过禁用它再次重现它,所以它确实做了一些优化。