groovy 慢_Groovy 学习笔记3 运行效率

本文通过对比Groovy、Java和JavaScript实现的八皇后问题,揭示Groovy在运行效率上的不足。实验结果显示,Groovy的运行时间大约是Java的10~30倍,而JavaScript在IE中的执行速度比Groovy快5倍以上。分析发现,Groovy生成的字节码效率较低,循环内的方法调用过于复杂,这可能是导致性能下降的主要原因。
摘要由CSDN通过智能技术生成

第一篇笔记里面,我说groovy运行的居然还满快的,其实是个误会了。我上次做八皇后还是在8080上面用basic做的,和现在奔四上面的groovy相比是没有意义的。特地又做了个对比试验:

1

intq=92int[] i=newint[q]3intcount=04longt=System.currentTimeMillis();5scan(0)6println("totle results:"+count)7println("totle time:"+(System.currentTimeMillis()-t));8

def scan(n){9

if(n==q){10        println(i.toList())11        count++12return13    }14    i[n]=015

while(i[n]{16        i[n]=i[n]+117if(check(n))18            scan(n+1)19    }20}21

def check(n){22if(n>0)23for(jin0..if(i[j]==i[n]||i[j]-i[n]==j-n||i[j]-i[n]==n-j )25returnfalse26returntrue27}

运行结果是:totle time:7271 (为了用groovy控制台运行的,直接用groovy命令运行还要慢一点)

java呢?

queens.java:

1

publicclassqueens{2staticintq=9;3staticint[] i=newint[q];4staticintcount=0;5

publicstaticvoidm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值