.NET CLR - 在将CIL编译为特定于平台的指令时,新的CPU架构等等呢?

ric*_*ard 6 .net architecture clr cil

当.NET CLR将CIL编译为特定于平台的指令时,如果它在新的CPU架构(即不熟悉的架构)上进行编译,它会怎么做.为MS保持领先的曲线和发布新的,优化的指令通过与建筑商(英特尔,AMD等)合作编制的.NET功能?

Jef*_*tin 6

.Net似乎针对的是架构系列(例如x86,amd64和ia64),而不是单个架构.为三个基本体系结构系列的不同变体和扩展添加优化是一个实现细节,可能会也可能不会提高性能,但不需要生成运行代码; 这些优化可能会在点发布中逐渐消失,但微软似乎并没有非常致力于更新他们的JIT以从最新芯片中获得额外的百分点速度.

编辑:看起来答案是'它取决于'.JIT执行一些特定于CPU的优化,但只有当他们观察到明显的性能痛点时才会添加这些优化; NGen提前编译从不包括CPU特定的优化.