NGen是个什么东西?

Ngen.exe:当应用程序安装时,可以将IL-code编译为native-code。在以后运行程序时,就不用再编译IL-code。

有两方面作用:
& 提高程序的启动速度
    由于在安装时,Ngen已经将IL-code转为native-code,省去了运行时编译IL-code的工作。
& 减少应用的工作集
    一个集合同时被加载到多个进程中时,Ngen将IL-code编译成native-code,将native-code保存在一个单独的文件中,这个文件可以通过内存映射的方式被多个进程共享。这样每个进行就不用它的拷贝了。

Ngen也存在一下几个问题
& 非知识产权保护
    NGen转化后的文件中内含IL-code。
& NGen文件过时
    当CLR加载NGen文件时,会将NGen文件特征和当前的执行环境对比。如果某一特征不符合,NGen文件就不会被调用。
    备注:NGen也可以设为update模式,当安装一个新的Net Framework的service
    pack时,NGen文件会与CLR版本保持一致。
& 槽糕的执行效率
    在Ngen编译代码时,不会像JIT编译器那样做太多的假设和优化,这可能导致代码的执行效率反而有所下降。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值