做简短的说明有更好的性能



我真的需要关心在哪里可以发出.s指令吗?还是只影响尺寸,但实际性能是一样的?

生成的 dll 也将在 AOT 平台上使用。生成的 AOT 编辑的 dll 对于具有 .s 和没有 IL 是否相同?

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

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

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

最新更新