2019-11-29 00:35:26
浏览数 (1)
代码示例
代码语言:javascript
复制package com.cwl.po;
/**
* @program: cwl-performance-optimization
* @description: 测试for循环-嵌套循环
* @author: ChenWenLong
* @create: 2019-11-22 11:27
**/
public class TestNestedLoop {
// 当需要嵌套循环时 外层循环越小 性能越好
// 例如 10*100*1000 与 1000*100*10 相互比较
public static void main(String[] args) {
// 测试最终结果发现当嵌套循环越大 两者相差性能比越大
System.out.println(testOutSide());
System.out.println(testInSide());
}
/**
* 功能描述:
* 〈测试内层循环逐步增大〉
*
* @params : []
* @return : long
* @author : cwl
* @date : 2019/11/22 11:36
*/
private static long testInSide() {
long begin = System.currentTimeMillis();
int d = 0;
for(int a=0;a<1000;a ){
for(int b=0;b<10000;b ){
for (int c=0;c<100000;c ){
d = a b c;
}
}
}
long end = System.currentTimeMillis();
System.out.println(d);
return end - begin;
}
/**
* 功能描述:
* 〈测试内层循环逐步减小〉
*
* @params : []
* @return : long
* @author : cwl
* @date : 2019/11/22 11:37
*/
private static long testOutSide() {
long begin = System.currentTimeMillis();
int d = 0;
for(int a=0;a<100000;a ){
for(int b=0;b<10000;b ){
for (int c=0;c<1000;c ){
d = a b c;
}
}
}
long end = System.currentTimeMillis();
System.out.println(d);
return end - begin;
}
}