今天做了个小实验,关于Groovy性能

//使用groovy的语法去编写
long time = System.currentTimeMillis()
10000.times {
int i = 0;
1000.times{ val->
i += val
}
}
println "${System.currentTimeMillis() - time} ms"

//使用Java的语法去编写
time = System.currentTimeMillis();
int i = 0;
for(int x= 1;x<10000;x++) {
for(int y=1;y<1000;y++) {
i=i+y;
}
}
System.out.println(i + " " + (System.currentTimeMillis() - time) +" ms");

执行结果分别是:
700032704 14531 ms
700032704 15875 ms

而第二部分代码写在Java类中的执行结果是:
700032704 16 ms


能基本说明两个问题,一,在Groovy中使用Java的语法,不会带来性能上的提升;二,Groovy在运行性能上和Java还是有较大差距的。

同样的逻辑,使用Ruby1.9,执行时间为3578.0 ms。

这样的结果我不甘心,于是,我在Groovy中调用了Java的代码:
time = System.currentTimeMillis()
JavaTest.main(null);
println "${System.currentTimeMillis() - time} ms"

执行结果还是700032704 16 ms。呵呵,看来如果需要进行大数据量的运算,还是先写到Java中吧,好在Groovy可以直接调用Java的代码。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值