求:
for(int i = 100000; i > 0; i–) {}
for(int i = 1; i < 100001; i++) {}
这两个FOR循环哪个执行得更快?
我个人的测试方法为下面的方法,不知道对不对,请高手指教:
public class Test {
/**
* @param args
*/
static int num = 100000;
public static void main(String[] args) {
long begin = System.currentTimeMillis();
System.out.println("第一种情况开始:"+begin);
for (int i = 0; i < num+1; i++) {
}
long end = System.currentTimeMillis();
System.out.println("第一种情况结束:"+ end);
System.out.println("第一种开始和结束的时间差情况:"+ (end - begin));
begin = System.currentTimeMillis();
System.out.println("第二种情况开始:"+ begin);
for (int i = num; i >0; i--) {
}
end = System.currentTimeMillis();
System.out.println("第二种情况结束:"+begin);
System.out.println("第二种开始和结束的时间差情况:"+ (end - begin));
}
}
运行结果:
第一种情况开始:1268831446250
第一种情况结束:1268831446250
第一种开始和结束的时间差情况:0
第二种情况开始:1268831446250
第二种情况结束:1268831446250
第二种开始和结束的时间差情况:0
分享到:
相关推荐
循环展开能从两方面改进程序的性能: 减少了不直接有助于程序结果的操作的数量,例如循环索引计算和分支条件。 提供了一些方法,可以进一步变化代码,减少整个计算中关键路径上的操作数量。 循环展开对程序性能的...
有两个功能,分别做了两个函数,function1和function2 function1实现第一个功能,function2实现第二个功能 按键设置了0到15共16个按键,程序里只读取0和1两个按键 读取到0走function1,读取到1走function2,用的...
两个for嵌套循环
二相混合式步进电机闭环矢量SVPWM控制simulink仿真模型 ...性能闭环驱动?系统研究 汪全俉 [2] 两相 SVPWM 技术在位置跟踪伺服系统中的应用 刘源晶,杨向宇,赵世伟 [3] 二相混合式步进电动机传递函数模型推导
循环码编码原理可以分为两个步骤:信息比特流到多项式的转换和多项式到循环码的转换。循环码编码原理的目的是将信息比特流转换为一个可靠的循环码,从而提高信息传输的可靠性和有效性。 五、循环码的纠错原理 循环...
NEDC是一种标准化测试,包括城市和郊区两个部分,但因其过于理想化,已逐渐被更贴近现实的WLTC取代。WLTC分为低、中、高三段,覆盖了更广泛的驾驶行为。 中国自2016年起开始采用WLTC工况,这是一套全球统一的测试...
这是一个典型的单重循环程序,循环次数为50次。程序通过初始化CX寄存器为50,然后使用`AGAIN`作为循环标签,每次循环迭代时执行加法操作、更新指针,并使用`DEC CX`减小CX的值。`JNZ AGAIN`指令检查CX是否为0,如果...
2. 使用`Transformation Executor`(转换执行器):在Job中,如果需要循环执行一个Transformation,可以使用这个组件,并设置相应的循环参数。 3. 在Transformation内部使用`Step Meta`(步骤元数据)和`Copy Rows ...
这两个示例展示了 C/C++ 中 `for` 循环的细节以及条件表达式的处理方式。关键在于理解 `for` 循环的三个组成部分(初始化、条件判断、循环后的操作)以及条件表达式中各个操作符的执行顺序。特别地,对于 `&&` 和 `!...
这两种方式在性能上有何差异呢?这篇总结将深入探讨这个问题,并提供实际的测试结果。 首先,`List<T>.FindAll`方法是一个方便的 LINQ 扩展方法,它接受一个谓词(Predicate),即一个返回布尔值的委托,用于判断...
Kettle通过Job和Transformation两个主要组件来执行数据处理任务。Job是更高层次的工作流程,它包含一系列的Transformation以及控制它们之间执行顺序的步骤。而Transformation则专注于数据转换,即对数据进行清洗、...
在实现循环队列时,我们可以自定义一个固定大小的缓冲区,并维护两个指针,分别表示队头和队尾。 初始化循环队列时,队头和队尾指针都指向缓冲区的起始位置。当有新的数据到来时,数据被存入缓冲区的队尾位置,并将...
在Android开发中,有时我们需要在一个布局中同时展示两个ListView,以实现类似网格或者并排比较的效果。这个场景在处理比如对比列表数据、显示多类别信息等时非常常见。标题"android两列显示两个listview"指的就是...
本文将深入探讨在Additive White Gaussian Noise (AWGN)信道中,三种主要的差错控制编码——卷积码、循环码和普通线性分组码的性能分析。MATLAB作为一种强大的数学工具,常用于实现这些编码的仿真和性能评估。 1. *...
默认情况下,ViewPager只会加载相邻的两个页面,以提高性能和减少内存消耗。在用户滑动时,它会自动创建新的页面并销毁不再可见的页面。 要实现循环滚动,我们需要扩展`PagerAdapter`并重写其中的关键方法。例如,...
在C++中,循环队列可以使用数组或者链表来实现,这两种方式各有优缺点。下面我们将详细探讨这两种实现方式及其基本功能。 首先,我们来看数组实现的循环队列。数组是最基础的数据结构,它的优点是访问速度快,空间...
实现这个功能的关键是使用`for`或`while`循环,每次比较当前输入的数与已知最大值,更新最大值。 2. **素数判断**: - 练习要求判断输入的正数是否为素数。通过`for`循环遍历从2到输入数-1的所有数,如果输入数能...
然而,在处理大量数据时,如果每个Item都直接实例化并渲染,会消耗大量的内存和GPU资源,降低游戏性能。这就是"UGUI ScrollRect滚动优化:无限循环利用Item"所要解决的问题。 首先,理解"无限循环利用Item"的概念。...