【发布时间】:2014-11-25 13:48:07
【问题描述】:
我开发了一个需要 24 小时运行的 WinForms 应用程序,启动时间很慢,但这并不重要,因为可能每天只能运行 1 或 2 次,执行时间很长,那么我很感兴趣额外的运行时性能和任何启动性能。
澄清说,我记得 NGen 提供启动好处的功能,但我已经调查了我能做的所有事情,但我没有找到任何有用的信息来说明 NGen 是否也为我的需求提供运行时性能。
我只发现了没有根据或任何官方来源的猜测,只是,至少对我来说没有证明的猜测,像这样:
Code compiled by NGen runs about 5% slower than JIT-compiled code
我的问题是,是否有人可以向我提供信息、详细信息,或者是否可能提供有关 NGen 是否真的为像我这样的应用程序(24 小时运行和执行运行时操作)添加运行时优化的官方来源或性能测试,或者是否在另一方面,我仍然应该将 JIT 用于此类应用程序。
任何形式的帮助来澄清我的想法将不胜感激,在此先感谢。
【问题讨论】:
-
任何优化都将根据您的实际代码进行。您需要针对这两个版本运行分析器,我们无能为力。
-
@BradleyDotNET 抱歉,我不明白你的评论,我没有展示我的实际代码,但无论如何我在谈论一个应用程序,我已经实现了性能和内存的分析器测试.感谢您的评论
-
NGen 不会提高运行时性能,而是提高启动性能。即,它避免了 JIT 的开销。它与整体运行时性能无关。
-
我的意思是你有一个引述 NGen 慢 5%;这可能是真的,也可能不是,但它至少部分取决于代码本身。因此,很难给出答案。
-
完整阅读this。来自链接:原生图像可以在两个方面提供性能改进:改进内存使用和减少启动时间。阅读提供的链接中的更快的应用程序启动部分。
标签: c# .net vb.net winforms ngen