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

xiaoxiao2021-02-28  94

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.

转载请注明原文地址: https://www.6miu.com/read-75747.html

最新回复(0)