Optimization CLR语言优化。语言编译器与JIT编译器

Optimization CLR语言优化。语言编译器与JIT编译器,optimization,clr,Optimization,Clr,Scott Haselman说“托管代码中的大多数优化都是由JIT编译器而不是语言编译器完成的。”上一篇文章 我认为,“JIT编译时”看起来像“运行时”,所以JIT编译时优化会使程序变慢。但他表示,情况恰恰相反。你知道为什么CLR优化是这样工作的吗 是的,它是慢的,也是快的。CLR函数的初始运行将比本机例程慢,因为JIT编译器将函数编译为机器代码需要时间。然而,在随后的运行中,代码实际上可能会更快,因为JIT编译器比AOT(提前)编译器更了解应用程序 例如,JIT编译器可能在受支持的处理器上启用

Scott Haselman说“托管代码中的大多数优化都是由JIT编译器而不是语言编译器完成的。”上一篇文章


我认为,“JIT编译时”看起来像“运行时”,所以JIT编译时优化会使程序变慢。但他表示,情况恰恰相反。你知道为什么CLR优化是这样工作的吗

是的,它是慢的,也是快的。CLR函数的初始运行将比本机例程慢,因为JIT编译器将函数编译为机器代码需要时间。然而,在随后的运行中,代码实际上可能会更快,因为JIT编译器比AOT(提前)编译器更了解应用程序


例如,JIT编译器可能在受支持的处理器上启用SSE扩展。

我真的不明白问题是什么。你是否在问,如果使用诸如NGEN之类的工具提前编译为本机图像,从而绕过JITer,是否真的会让你的应用程序运行得更慢?或者你在问JITer的工作(优化)是否真的会让程序运行变慢?