`
bcyy
  • 浏览: 1881149 次
文章分类
社区版块
存档分类
最新评论

for 循环性能比较 提高for循环的效率

 
阅读更多

昨天在csdn上看到这样的帖子:http://topic.csdn.net/u/20090316/11/feb21d98-ef52-422c-a3eb-2de211963533.html?seed=1379459908

for(int i=1,n=tempUser.length;i <n;i++)与
for(int i=1,;i <tempUser.length;i++)相比较,性能有较大的区别吗,有必要采取这种写法吗,
习惯for(int i=1,;i <tempUser.length;i++),而且并没有发现两者的性能有较大差别,

我当即就测试了一下,发现果然性能比较起来差别很小,甚至后者更高效一点。

虽然得出这样的结果,但和自己心里想的确完全相反的。所有当然就回复说差不多。

今天又发现一位前辈的blog中正好有对这个帖子的回应。他做了测试,内容大致是前面的帖子的问题应该是差不多的,但是他又更深入的进行测试,得出:在有情况for(int i=0;i<a.b.c.length;i++)的情况的时候,使用for(int i=0,n=a.b.c.length;i<n;i++)更加高效。

所有我也做了一下测试:

其中数据量越大,类越大,差别越明显。

结论:影响应该在,变量在每次循环都要访问下一级变量的原因。如果只是简单的a.length可能编译器对这样的循环操作有优化,将a.length保存到了内存或一个比内存更块的地方,而多级就没有这么幸运了。
我们都知道for(int i=0;i<a.length;i++)语句,i=0是运行一次,而i<a.length和i++是每次循环都要做的工作。所有应该尽量将访问变量耗时间的操作放在第一个;号前。

分享到:
评论

相关推荐

    For 和 Foreach 的效率问题

    本文将深入探讨`for`和`foreach`在C#中的效率差异,以及如何根据具体场景选择合适的循环方式。 首先,`for`循环是一种更基础的迭代结构,它允许程序员直接控制循环变量的初始化、条件检查和递增/递减过程。`for`...

    Codesys V3510 For循环案例分享

    同时,还可以了解如何调试和优化For循环,以提高程序效率。 总的来说,对于工业自动化的新手来说,熟练掌握Codesys V3 3510中的For循环是提升编程能力的关键一步。通过深入学习和实践这些案例,不仅可以提高编程...

    多重For循环 优化

    ### 多重For循环优化分析 #### 原始代码分析 原始代码示例如下: ```java for(int i = 0; i ; i++) { for(int j = 0; j ; j++) { for(int k = 0; k ; k++) { log(i * j * k); } } } ``` 此段代码中的嵌套循环...

    js,java提高编程效率之【for循环优化】.pdf

    本文主要讨论了如何优化JavaScript和Java中的for循环,以提高编程效率。 首先,我们来回顾一下传统的for循环语法: ```javascript for(var i = 0; i ; i++) { // 对arrays[i]进行处理 } ``` 这段代码适用于遍...

    Java for循环性能优化实现解析

    Java for循环性能优化实现解析 Java for循环性能优化实现解析是 Java 编程中非常重要的一部分,主要讨论了Java for循环性能优化的实现解析。下面是从文件中提炼出的相关知识点: 1. 嵌套循环优化 在Java中,嵌套...

    如何提高python 中for循环的效率

    在Python编程中,提高for循环效率对于处理大数据集至关重要,特别是在面对像出租车数据这样庞大的记录时。传统的单线程for循环在处理这类任务时可能会非常耗时,如问题描述中的情况,逐条处理33210000条记录需要耗费...

    Shell中的for循环总结

    不同的for循环实现可能在效率上有所差异。例如,使用`expr`进行数学运算会比内建的算术运算符慢。在性能关键的场景下,应选择效率更高的实现方式,但首先要确保它能在目标Shell环境中正确工作。 10. **函数中使用...

    从汇编角度分析for和while的效率

    这提醒我们在编写MSP430的代码时,需要特别注意变量的状态,避免因未初始化导致的问题,同时考虑到这可能对循环效率产生的潜在影响。 总的来说,`for`和`while`循环在效率上的差异主要取决于编译器的优化策略,而...

    MATLAB工具箱大全-将多重循环转为单重循环-For-Each

    在MATLAB编程中,优化代码效率是至关重要的,特别是在处理大量数据时。多重循环往往会导致计算时间显著...在编写MATLAB程序时,应尽可能考虑如何利用`for-each`和其他内置函数来替代多重循环,以提高代码的运行效率。

    JDK1.5中增强for循环

    随着 Java 技术的不断发展,为了提高开发效率、简化代码编写并增强可读性,JDK 1.5 引入了一系列的新特性,其中就包括了增强 for 循环(Enhanced For Loop),也被称作“for-each”循环。这一特性极大地简化了数组和...

    如何:编写 parallel_for 循环.doc

    编写 parallel_for 循环 Parallel_for 循环是并发编程中的一个重要概念,用于并行执行循环体中的任务以提高程序的执行效率。...通过使用 parallel_for 循环,可以充分发挥多核处理器的性能,提高程序的执行效率。

    javaEE-嵌套For循环性能优化案例借鉴.pdf

    嵌套for循环作为常见的编程结构,其效率直接影响到程序的运行速度。本文通过一个具体的案例,探讨了如何对嵌套for循环进行性能优化。 案例中的原始代码如下: ```java for (int i = 0; i ; i++) for (int j = 0; j...

    For循环嵌套要点和难点具体案例

    在实际编程中,理解并熟练掌握for循环嵌套是提升代码效率和解决问题能力的关键。通过不断实践和优化,我们可以编写出更加高效、易读的代码。《For循环嵌套要点和难点具体案例.pdf》这份文档应该提供了详细的案例和...

    oracle解决游标多维度循环查询效率过低方案

    多维度查询时通常需要建立多个游标循环,查询效率无法得到保障,现在通过游标和substr()函数相结合的方式提高查询效率

    01-Java语言基础(语句-For循环嵌套)

    2. **效率**:嵌套循环可能会导致性能问题,特别是当循环次数很大时。因此,要尽可能优化代码,减少不必要的计算。 3. **逻辑清晰**:确保嵌套循环的逻辑易于理解,避免出现难以调试的代码。 4. **跳出嵌套**:在...

    javascript for循环设法提高性能

    总的来说,通过预先存储数组长度、反转循环方向以及适时使用while或do...while循环,我们可以有效地优化JavaScript中的for循环,以提高程序的运行效率。在编写代码时,应根据具体的应用场景和需求来选择最合适的优化...

Global site tag (gtag.js) - Google Analytics