读书人

for(;) 跟 while(TRUE)效率比较

发布时间: 2012-06-29 15:48:47 作者: rapoo

for(;;) 和 while(TRUE)效率比较

?

个人认为for(;;),效率更高。原因for循环中什么都没有执行,所以耗费的内存空间要小一些。while循环中还要每次都执行true语句,要耗费一定的内存。

编译后的代码:
编译前 ?? ?? ?? ??? 编译后?
while (1); ?? ?? mov eax,1??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? test eax,eax?
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? je foo+23h
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??? jmp foo+18h

?? ??? 编译前 ?? ?? ?? ??? 编译后?
for (;;); ?? ?? jmp foo+23h   
一目了然,for (;;)指令少,不占用寄存器,而且没有判断跳转,比while (1)好。

读书人网 >操作系统

热点推荐