【发布时间】:2011-09-18 21:03:26
【问题描述】:
我想知道,当编译器输出到CIL 时,CIL 是否经过优化?假设该语言没有在调试模式下插入额外数据信息,我想知道 JIT 是否完全自行完成所有优化,我认为它可以。
【问题讨论】:
标签: .net optimization compiler-construction jit cil
我想知道,当编译器输出到CIL 时,CIL 是否经过优化?假设该语言没有在调试模式下插入额外数据信息,我想知道 JIT 是否完全自行完成所有优化,我认为它可以。
【问题讨论】:
标签: .net optimization compiler-construction jit cil
两者兼而有之。如果您在发布模式下构建,您使用的任何编译器都会在代码进入 CIL 之前对其进行一些优化。 JITter 也有优化。
通常由编译器完成的优化示例是常量折叠。
通常在 JIT 级别完成的优化示例是循环展开。
【讨论】:
const 变量无关。常量折叠将 2+2 替换为二进制文件中的预计算值 4。