gpt4 book ai didi

ngen - ngen.exe 如何以及何时工作?

转载 作者:行者123 更新时间:2023-12-04 16:19:32 25 4
gpt4 key购买 nike

我想知道预 JIT 编译 (ngen.exe) 的好处。 Native Image Generator的作用是什么(NGen)过程以及为什么需要它?

请举个例子。

最佳答案

对于 .NET 平台上的代码执行,Common Intermediate Language (CIL) 表示需要被翻译成机器代码。如果这在执行之前立即发生,则称为 JIT(及时)编译。 JIT 的输出不会持久化,因此您的托管应用程序每次启动都必须通过 JIT。

或者,您可以使用预编译来减少与 JIT 编译相关的启动开销。 NGen 执行预编译并将 native 镜像保存在 native 镜像缓存中。然后应用程序可以使用 native 镜像运行,并且由于减少了 JIT 编译开销,可能会体验到更快的启动时间。最初,NGen 是一种安装时技术,开发人员让应用程序安装程序发出 NGen 命令以在安装时触发预编译。更多详情,请查看NGen Revs Up Your Performance with Powerful New Features .本文提供了一个利用 NGen 的示例应用程序。

在 Windows 8 (.NET 4.5) 中,引入了新的 NGen 模式:“Auto NGen”。基本上,.NET 运行时会为托管应用程序生成使用日志。当系统空闲时,自动维护任务在后台运行并生成原生图像。这样,开发人员不再需要明确地处理 NGen。请注意,此功能仅适用于面向 Window Store 或使用 GAC 的 .NET 4.5+ 应用程序。 .这是一个可能有用的 MSDN 页面:
Creating Native Images

这是 NGen 和相关技术的高级概述:
Got a need for speed? .NET applications start faster

最后,.NET 框架库本身使用 NGen 以获得更好的性能。为 .NET 框架提供服务时,一些 native 图像会失效。然后 NGen 需要运行重新生成无效的原生镜像。这是通过在空闲时间运行的 .NET 运行时优化服务自动完成的。

关于ngen - ngen.exe 如何以及何时工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20620348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com