CIL 是否已优化?或者只有 JITted 二进制文件?
我想知道,当编译器输出到 CIL 时,CIL 是否经过优化?假设该语言不在调试模式下插入额外的数据信息,我想知道 JIT 是否完全自行完成所有优化,我认为它可以。
I was wondering, when compilers output to CIL, is the CIL optimized? Assuming the language doesn't insert bonus data information in debug mode i was wondering if the JIT does all optimizations completely by itself and i assume it could.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
两个都。如果您在发布模式下构建,则无论您使用哪个编译器,都会在代码进入 CIL 之前对代码进行一些优化。 JITter 也有优化。
通常由编译器完成的优化的一个示例是常量折叠。
通常在 JIT 级别完成的优化的一个示例是循环展开。
Both. If you build in release mode, whichever compiler you're using will apply some optimization to the code before it goes into CIL. The JITter has optimizations too.
An example of an optimization typically done by the compiler is constant folding.
An example of an optimization typically done at JIT level is loop unrolling.