Java和R语言的循环对比测试

来源:互联网 发布:花呗充值qb的淘宝店 编辑:程序博客网 时间:2024/05/18 03:33

Java和R语言的循环对比测试

因好奇同样的循环在Java中快还是在R语言中快, 于是做了这个小测试.

起初以10亿次循环累加为例.

Java中执行

public class demo13 {    public static void main(String[] args) {        long sum = 0;        long st = System.currentTimeMillis();        for (long i = 0; i<1000000000; i++) {  //十亿            sum += i;        }        long et = System.currentTimeMillis();        System.out.println("循环执行时间: "+(et-st));    }}

循环执行时间: 300ms, 试了几次结果在300上下浮动.

R语言中执行

首先同样循环十亿次, 结果等了近几十秒, 还没有结果出来, 看来差距很明显, 于是直接stop了, 降低次数值1千万测试结果如下:

system.time(  for (i in 1:10000000) {    sum = sum + i  })

输出结果:

用户 系统 流逝 3.42 0.00 3.44 

结论

Java和R语言的底层还是差异很大的.

R语言部分用C写的底层函数可能运行起来很快, 但是直接用表层的循环完败于Java.

原创粉丝点击