俺的回收站

架构分析 解释编译原理
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  CLR框架

摘要:编译汇编语句: ADD EBX, 300,重复2017次,测得其运行时间为 60 个 QueryPerfomanceCount。在这里直接运行的机器码应该是最快实现了吧。但是让我们编译IL语句: ldc.i4 300, ADD 重复2017次,测得其运行时间居然只有区区 5个 QueryPerfomanceCount。跌破眼球吧,到底是怎么回事了,这就是JITter 优化的功劳了。 阅读全文

posted @ 2006-12-22 17:36 Riceball LEE 阅读(2590) 评论(19) 推荐(0)

摘要:理解了,namespace 只是C#等高级语言为了引用和书写对象名称方便引入的概念,在CLR中并不存在。所以,从属于一个namespace的类型可能在不同的程序集中,而在同一个程序集中也可能包括不同的namespace。在 C#中 namespace 指令只是指示C#编译器为源代码出现的每个类型名称前附加namespace名称前缀,这样可以减少编程人员的录入量。 阅读全文

posted @ 2006-12-22 14:07 Riceball LEE 阅读(1112) 评论(0) 推荐(0)

摘要:详细叙述 Virtual Execution System(VES) 以及说明 Remoting 机制 阅读全文

posted @ 2006-12-16 12:34 Riceball LEE 阅读(2154) 评论(6) 推荐(0)

摘要:通用语言基础组织 Common Language Infrastructure (CLI) 提供执行代码以及执行环境(the Virtual Execution System, or VES)的规范. CLI 架构包括了以下的内容: * 虚拟机设计 * 线程 * 动态绑定 classes, assemblies, and application domains. * 分布式文件加载 * 保护机制 * CTS(Common Type System) - Self-describing type system * Cross assembly method/member function invocation * Side-by-side execution (simultaneous support for separate versions of the same component) * Managed and unmanage 阅读全文

posted @ 2006-12-15 16:44 Riceball LEE 阅读(2428) 评论(5) 推荐(0)

摘要:模块(Module)类似于以前的单元,用于分割不同的类和类型,以及资源(resource, 资源记录就是字符串,图象以及其它数据,他们只在需要的时候才会被调入内存)。类型的Meta信息也是模块的一部分。既然模块种包含类型的Meta信息,类型检查系统就可以联合静态和动态技术。当IL运行的时候,执行环境能得知所有变量参数的类型Meta信息,自然就能执行运行时刻的类型检查——这被称之为 reflecti... 阅读全文

posted @ 2006-12-14 15:51 Riceball LEE 阅读(888) 评论(0) 推荐(0)