.net – C#中的[MethodImpl(MethodImplOptions.NoInlining)]方法属性如何在使用数组时影响性能?

C#中的[MethodImpl(MethodImplOptions.NoInlining)]方法属性如何在使用数组时影响性能?

我有一个方法,迭代int [] [] – 锯齿状数组.无论是否具有此属性,性能测量都会产生相同的效果.

在使用锯齿状阵列时,内联是否应该有所改进?

迭代二维数组通常很昂贵,足以隐藏单个方法调用的成本.并且即使没有属性,也可能无论如何都没有内联方法,因为机器代码太多了.

但看看.工具选项,调试,常规,取消勾选“抑制模块加载时的JIT优化”.选择发布版本.在方法调用上设置断点并运行.断开后,右键单击源代码,然后单击“转到反汇编”.如果你看到一个调用指令,那么就没有内联.如果方法接受参数,您可能会在调用之前看到一些机器代码.

相关文章
相关标签/搜索