您的位置:首页 > 编程语言 > Java开发

Scala和Java的循环性能对比

2015-07-29 14:16 555 查看
对比Scala 的for, while循环,以及和Java的for, while循环作对比:

运行环境:

CPU: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz * 4

RAM: 8.00G

集成开发环境:IntelliJ IDEA 14.0.2

Scala SDK: scala-sdk-2.11.4

JDK: jdk1.7.0_45

对比表格(毫秒):









Scala代码:

object TestScalaPerformance {
//循环次数
var maxindex = 10000
def testFor(): Unit = {
var sum = 0
var beg = System.currentTimeMillis()
for (i <- 0 to  maxindex)
sum += i
var end = System.currentTimeMillis()
println("Scala的" + maxindex + "次for循环耗时: " + (end - beg))
}

def testWhile(): Unit = {
var sum = 0
var i = 0;
var beg = System.currentTimeMillis()
while (i < maxindex) {
i += 1
sum += i
}
var end = System.currentTimeMillis()
println("Scala的" + maxindex + "次while循环耗时: " + (end - beg))
}

def main(args: Array[String]) {
testWhile()
testFor()
}
}


Java代码:

public class TestJavaPerformance {
//循环次数
private static long maxindex = 10000;

public static void main(String[] args) {
testWhile();
testFor();
}

public static void testWhile() {
int i = 0;
int sum = 0;
long begtime = System.currentTimeMillis();
while(i < maxindex){
i++;
sum += i;
}
long endtime = System.currentTimeMillis();
System.out.println("Java的" + maxindex + "次while循环耗时: " + (endtime - begtime) );
}

public static void testFor() {
int i = 0;
int sum = 0;
long begtime = System.currentTimeMillis();
for (i = 0 ; i < maxindex; i++)
sum += i;
long endtime = System.currentTimeMillis();
System.out.println("Java的" + maxindex + "次for循环耗时: " + (endtime - begtime) );
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息