"预先评估"或预编译将在启动时提高性能,因为您将跳过该步骤.每次应用程序及其库加载时.NET JIT的原因是它可以在许多平台和体系结构上运行,并且无需管理构建就可以实现最佳优化.
因此,您必须权衡管理员是否值得在应用启动和库加载时节省几秒钟.我认为这样做最常见的用例是服务器安装,你倾向于管理很少的机器,环境非常稳定.例如,您不会为客户端应用程序进行预编译,因为目标环境的可预测性要低得多.
“ PRE-JIT”通过NGen(从CIL到本机映像的预编译过程)完成。它将把已编译的.NET代码从与平台无关的中间状态转换为特定于平台的阶段。用简单的英语,它将可以在Windows,Mac和Linux上同时运行32位和64位的.NET应用程序转换为只能在其中之一上运行的老式EXE文件。
.NET应用程序被编译成称为MSIL的中间二进制格式,该格式独立于平台。这意味着该应用程序可以由任何平台上的任何CPU运行,只要该平台支持.NET。.NET在执行过程中执行的操作称为JIT。JIT将在每次执行之前将其实际使用之前编译一次代码。这也意味着将仅编译使用的代码。
NGen可以提高您的应用程序的性能(主要是启动时间),有时会非常明显。只要目标正确的平台,NGen几乎对任何东西都是安全的。例如,如果您的应用程序使用32位DLL文件,则不应将其生成为64位,如果其他应用程序正在使用DLL文件,则不应对其进行生成。
我建议在安装后而不是在分发之前运行NGen ,以便您知道该应用程序将在目标计算机上运行。
| 归档时间: |
|
| 查看次数: |
8134 次 |
| 最近记录: |