以下是C#版测试
以下是 C++ debug版测试
以下是 release版测试
我认为 纯寄存器 实现 for循环还是很重要的。
事实上可以加速2个for嵌套, 3个应该x64位应该可以。主要是寄存器不足。频繁写入内存堆栈。。
寄存器越多, for循环嵌套效率越高。但超过3层for 没啥处理器 有那么多寄存器。。
总之一个方法里,需要运算的局部变量太多,就需要频繁压栈 写入内存。
局部变量用来频繁运算的。占用寄存器比较好。
只写入1~2次的,可直接写入内存。但有时候全局计数器,还是频繁写入的。计数器之类必须占用寄存。
因此计数器不能太多。。10多20个计数器。那CPU运算效率是很低的。。主要是寄存器不足。
不过可以写入 ax 16位。计数足够了。