简短说明有更好的表现吗?

时间:2016-02-03 09:25:51

标签: c# il opcode aot

我是否真的需要关注可以发出.s指令的位置?或者它只会影响尺寸,但真正的性能会是一样的吗?

生成的dll也将用于 AOT 平台。对于具有.s且没有?

的IL,得到的AOT-ed dll是否相同

我的意思是br.sldloca.s等等。

1 个答案:

答案 0 :(得分:1)

这取决于。 .s(以及包含文字的操作码,如ldc.i4.1)的主要目的只是为了减小代码的大小,减小方法大小的优点是可以内联从调用方法的CIL生成本机代码时的方法(x86抖动的限制是IL的32个字节)。因此,在这种情况下,如果在内联候选方法中使用简短指令可以提高应用程序的性能。

否则,由于它不是CIL执行的,因此短代码和普通代码生成的机器代码应该是相同的(并且在可能的情况下也会优化)本机代码。