另一方面,普通JIT编译器则是缺省的运行时配置,它会对其产生的代码进行即时优化。这样做无形中给予了.NET超出传统预编译语言的一个优点:预编译语言只能对其处理的代码将要运行于其上的平台做一番大致的事前估计。JIT编译器可以经过准确调节达到当前运行时状态,结果可以完成一些预编译语言无法完成的工作:
更高效地利用和分配CPU寄存器
在适当的情况下实施低级代码优化,比如常量重叠、拷贝复制、取消范围检查、取消常规副表达式以及方法内联等
在代码执行期间监控当前的物理和虚拟内存需求从而更高效地利用内存
产生特定的平台指令以准确、充分地利用实际的处理器模式
.NET编译的结果就是JIT所带来的额外负载要求并没有产生显著的性能损失。