`
kongweile
  • 浏览: 507858 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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)好。

分享到:
评论

相关推荐

    散列

    //另外本例子中的写文件语句效率比较低,为了降低算法复杂度没有优化。//如果要提高写文件的效率,可以使用缓冲区,分批写入。//*********************************************breath.cnpick.com*****void create...

    穷举算法

    //另外本例子中的写文件语句效率比较低,为了降低算法复杂度没有优化。//如果要提高写文件的效率,可以使用缓冲区,分批写入。//*********************************************breath.cnpick.com*****void create...

    jquery-1.1.3 效率提高800%

    // the options for this ajax request }global(true) 数据类型: Boolean 是否为当前的请求触发全局AJAX事件处理函数,默认值为true。设置为false可以防止触发像ajaxStart或ajaxStop这样的全局事件处理函数...

    数据结构第一章作业答案参考(C语言)

    2.(共10分)比较与C语言书中的起泡排序异同,并从时空效率角度说明谁更优。 四、完成如下选择题(每3分,共9分)。 1. 设f为原操作,则如下算法的时间复杂度是( )。 for (i = 1; i*i; i++) f; A.O(n) B. O( ...

    最新JAVA编程题全集_50题及答案

    for(int i=0;i();i++){ List<String> temp = list(new StringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i)); result.addAll(temp); } return result; } } ++++++++++++++++++++++++...

    图的基本运算

    //图的顶点数和弧数 }ALGraph; int LocateVex(ALGraph G, string u)//返回顶点u在图中的位置 { for(int i=0; i; i++) if(G.vertices[i].data==u) return i; return -1; } void CreateUDG(ALGraph &...

    java程序的设计(雍俊海)课后部分答案.doc

    P2页 (1)简单性(2)网络特性(3)面向对象性(4)平台无关性/可移植性(5)鲁棒性也 指程序稳定性(6)安全性(7)多线程性,采用多线程机制是提高程序运行效率的方法 ,但增加了程序的设计难度(8)解释性,缺点...

    jsp探针 ver0.1

    ("cannot read MAC address for " + localHost + " from [" + ipConfigResponse + "]", 0); ex.printStackTrace(); throw ex; } private final boolean linuxIsMacAddress(String macAddressCandidate) { if...

    Dijkstra 算法原理

    当然了,这个算法当路径点上万的时候效率上会降低。 我有另外的改进实现, 上万个点也是在200毫秒内完成。但是不知道怎么添加, 我只能在这里贴关键代码了 : static std::list*> vecNodes; static std::list*> ...

    数据结构与算法(JAVA篇)之递归算法(二)

    while(true){ curIn=(lowerBound+upperBound)/2; if(a[curIn]==searchKey) return curIn; else if(lowerBound>upperBound) return nElems; else{ if(a[curIn]){ lowerBound=curIn+1; } else{ ...

    达内 coreJava 习题答案

    //此处用 continue也可以,只是效率低一点 System.out.print(" "+k+"X"+j+"="+j*k); } System.out.println(); } } } 6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,...

    PL/SQL 基础.doc

    BINARY_INTEGER之间做加法效率快而NUMBER要先转换2进制再计算 单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2...

    《数据结构 1800题》

    6.解释和比较以下各组概念【华南师范大学 2000 一(10分)】 (1)抽象数据类型及数据类型 (2)数据结构、逻辑结构、存储结构 (3)抽象数据类型【哈尔滨工业大学 2000 一、1(3分)】 (4)算法的时间复杂性 ...

    Java精华(免费版)

    while(true) { try { ch=System.in.read(); //该方法每次读入一个字节的内容到ch变量中。 } catch(Exception e) { } switch(ch) { case '\r': //回车时,不进行处理 break; case '\n': //换行时,将数组总的内容放进...

    基于ST STWBC-WA digital controller的穿戴式装置的无线充电方案 -电路方案

    •使传输功率根据实际负载条件与数字反馈发送装置以提高效率 •异物(FOD)的和主动存在检测功能;在充电区域检测到金属或磁性物体时停止功率传输增加安全性 •弹性设定调整线圈,支持从1到2.5 W不同的低功耗应用 •...

    语言程序设计课后习题答案

    然后用while和do…while语句完成同样的循环。 解: for循环: for (int n = 100; n ; n += 2); while循环: int x = 100; while (n ) n += 2; do…while循环: int n = 100; do { n += 2; } while(n ); 2-14 if...

    华为编程开发规范与案例

    1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...

    C#信息采集工具实现

    while (true) { int i = 0; lock (_lock) { if (numbers.Count == 0) { flag = false; return; } i = numbers.Dequeue(); } f(i); } } void Ssss() { for (int i = 1; i ; i++)/...

    整理后java开发全套达内学习笔记(含练习)

    boolean (8bit,不定的)只有true和false两个值 char 16bit, 0~2^16-1 (2^16=6万6) byte 8bit, -2^7~2^7-1 (2^7=128; 注意:两个 byte 数相加,变 int 型) short 16bit, -2^15~2^15-1 (2^15=32768) int 32bit, ...

    vcg(验证码控件)

    try { //真正的验证码存储在Session[“Code”]中,需要的只是对验证码输入和该值进行比较。 //(如果属性栏中“文字控制”属性卡下的“SessionCode”默认属性值“Code”改变, //则在代码...

Global site tag (gtag.js) - Google Analytics