刚试了下,汇编的65535*65535次空循环比C慢得多,不知道为什么?
麻烦各位高手帮忙,谢谢!
------解决方案--------------------------------------------------------
编译器把空循环给优化掉的,实际上空循环没有执行
------解决方案--------------------------------------------------------
看C的汇编码。
------解决方案--------------------------------------------------------
vc2008,结果不是这样的。E2140 的 cpu,c 的大概在 20s ,asm 的大概在 17s 。正常的表现吧。
你可以看看你的 c 生成的可执行程序的循环处的代码。比较可能是你所使用的编译器的优化设置,发现此循环内没有任何的实际操作,就直接过去了,并没有进行什么循环。