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

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值