为一个变量分配零可能比一个百万次迭代的For循环花费更多的时间吗?

Meh*_*hdi 10 c# optimization profiler

由于我的代码分析,我得到一个奇怪的输出.对于代码的主要计算,它正确地表明超过70%的时间花在这些部分上,但还有一些其他有趣的点.以下行占用%5.8

int counter = 0 ; // %5.8 of total time
Run Code Online (Sandbox Code Playgroud)

以下For循环消耗的时间较少(nx = 800&ny = 800)!这怎么可能?附上了剖析器结果的图片. 在此输入图像描述

Ass*_*saf 0

我大胆猜测这是由于 JIT 编译器造成的。尝试让您的代码运行有问题的行两次,并检查它是否具有相同的性能影响。