原文:[CLR via C#]1.5 本地代码生成器:NGen.exe

1. NGen.exe工具,可以在一个程序安装到用户计算机时,将IL代码编译成为本地代码。由于代码在安装时已经编译好,所以CLR的JIT编译器不需要再运行时编译IL代码了,这有助于提升程序的性能。

2. NGen.exe可以加快程序的启动速度,减少程序的工作集。
3. NGen.exe生成的文件存在以下问题:
    1)没有知识产权保护。在运行时,CLR要求访问程序集的元数据,这就要求同时发布包含IL代码和元数据的程序集。
    2)NGen生成的文件可能失去同步。NGen生成的文件时,会与当前执行环境相适应的,当你改变了先前的执行环境时,NGen生成的文件就不能使用了。
    3)较差的执行时性能。NGen无法像JIT编译器那么对最终执行环境做出许多优化。
05-04 05:49