原文:[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编译器那么对最终执行环境做出许多优化。

[CLR via C#]1.5 本地代码生成器:NGen.exe的更多相关文章

  1. 谈谈JIT编译器和本机影像生成器(NGen.exe)

    前言 在看<CLR>的时候,作者在开篇的时候提到了NGen.exe,前面一节执行程序集的代码中提到:程序或方法执行前会执行MSCorEE.dll中的JIT函数把要执行方法的IL转换成本地的 ...

  2. JITCompiler、NGen.exe及.NET Native

    一.JITCompiler 如你所知,JIT(just-in-time或“即时”)编译器是CLR的重要组件,它的职责是将IL转换成本地cpu指令. <<CLR via C#>> ...

  3. (转)JITComplier、NGen.exe及.NET Native

    一.JITComplier 如你所知,JIT(just-in-time或“即时”)编译器是CLR的重要组件,它的职责是将IL转换成本地cpu指令. <<CLR via C#>> ...

  4. Ngen.exe和本机映像缓存

    本机映像生成器创建托管程序集的本机映像,并且将该映像安装到本地计算机的本机映像缓存中.本机映像缓存是全局程序集缓存的保留区域.一旦您为某个程序集创建了本机映像,运行库在每次运行该程序集时就会自动使用该 ...

  5. c#程序打包、机器代码生成(Ngen.exe)

    深入本机影像生成器(Ngen.exe)工具使用方法详解 先介绍一点背景知识:.Net程序在运行时会实时(JIT)编译,将.Net程序文件编译成cpu认识的汇编机器码.实时编译需要消耗额外的cpu和内存 ...

  6. .Net Framework 工具Mpgo.exe与Ngen.exe

    首先放出官方MSDN的文档地址 Mpgo.exe 主要用于分析程序集启动时需要哪些东西,然后将信息反馈给NGen.exe 来更好的优化本机映像,使得应用程序启动更快,工作集缩小.准备发布时,用MPGO ...

  7. 第一章、 CLR的执行模型

    1. 概述 本章主要是介绍从源代码到可执行程序的过程中,CLR所做的工作. 2. 名词解释 ① 公共语言运行时(Common Language Runtime, CLR),是一个可由多种语言使用的 运 ...

  8. .net 底层运行机制

    1.           CLR C#.NET 平台下,代码是怎么运行的 源代码-->托管模块-->程序集-JIT->编程CPU指令 1.1     在.NET框架下,首先将源代码编 ...

  9. 01.由浅入深学习.NET CLR 基础系列之CLR 的执行模型

    .Net 从代码生成到执行,这中间的一些列过程是一个有别于其他的新技术新概念,那么这是一个什么样的过程呢,有什么样的机制呢,清楚了这些基本的东西我们做.Net的东西方可心中有数.那么,CLR的执行模型 ...

随机推荐

  1. Web指纹识别目的Discuz识别+粗糙的版本演绎

    这个识别程序是本学期在我的职业培训项目.它是做一类似至Zoomeye怪东西,然后使用ES集成,为了让搜索引擎寻找.因此,我们必须首先去网上识别相应的能力Web包裹,如果用户输入的关键词:Discuz ...

  2. iOS发展- backBarButtonItem 颜色/文字修改

    iOS7之后. 默认返回button字体颜色为蓝色, 在父母的陈列柜VC(老界面)的title 假设做出改变, 通过下面的方法可以: 1. 更改字体颜色 (1) 在plist里面, 加View con ...

  3. nginx随着passenger构造ruby on rails页

    1.备份nginx简介 cp /opt/nginx/html/nginx.conf /opt/nginx/html/nginx.conf.bak 2.编者nginx简介 server { listen ...

  4. Nancy 框架

    Nancy 框架 Nancy 框架 1.是一个轻量级用于构建http相应的web框架: 2.与mvc类似,有自己的路由机制: 3.可以处理 DELETE ,  GET ,  HEAD ,  OPTIO ...

  5. .ARM.exidx

    简介: `.ARM.exidx` is the section containing information for unwinding the stack. If your C program ha ...

  6. 使用shell命令分析统计日志

    用户需要登录统计信息,当分析用户行为,使用shell通常可以很容易地取出了大量的数据.删除,然后放入excel统计. 例如:统计日志含有loadCustomProcess这个地址的訪问,按訪问耗时排序 ...

  7. javascript基金会——鼠标事件,系统对话框,等等。

    1.鼠标事件 (1).onclick:用户点击鼠标左键,并且当焦点处于button准时,按用户Enter关键,发生onclick事件 (2).ondblclick:当用户双击鼠标左键.发生ondblc ...

  8. js 滚轮事件 滚轮焦点图(轮播图)

    利用滚轮,切换轮播图.附带mousewheel插件以及原生js写法:   <!doctype html> <html> <head> <meta charse ...

  9. [HAOI2005]路由问题,第二短路

    [问题描写叙述]     X城有一个含有N个节点的通信网络,在通信中,我们往往关心信息从一个节点I传输到节点J的最短路径.遗憾的是.因为种种原因,线路中总有一些节点会出故障,因此在传输中要避开故障节点 ...

  10. ContentMode 几个属性

    版权声明:本文博客原创文章,博客,未经同意,不得转载.