站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题java,javascript,groovy和Rhino 的运行效率到底相差的有多远?

java,javascript,groovy和Rhino 的运行效率到底相差的有多远?

摘要: java,javascript,groovy和Rhino 的运行效率到底相差的有多远?
<textarea readonly style="border:none;font-family:Courier New;line-height:150%;width:760px;overflow-y:visible"> 我

author:emu(黄希彤)

在Groovy 学习笔记3 运行效率 和初识Rhino 中都用8皇后问题来比较java,javascript,groovy和Rhino 的运行效率。一开始考虑到8皇后只有92组解,输出占用的时间应该很少,为了好看就把全部结果打印出来了。

后来因为程序运行的太快,又增加了皇后的数目,用9皇后来测试,这样需要输出352个解了,我仍然没有意识到输出对运行时间的影响。直到今天中午多放了一个皇后的时候,才意识到问题的严重性:java版运行10皇后如果不输出结果只需要30~40毫秒,而输出结果的情况下需要500毫秒左右,输出成了速度瓶颈。把前面的测试全部去掉结果输出部分重新测一遍吧:


java版:

public class queens {
static int q=10;
static int[] i=new int[q];
static int count=0;
public static void main(String[] args){
long t = System.currentTimeMillis();
scan(0);
System.out.println("totle results:"+count);
System.out.println("totle time:"+(System.currentTimeMillis()-t));
}

private static void scan(int n){
if (n==q){
// for (int k=0;k count++;
return;
}

i[n]=0;
while(i[n]{
i[n] = i[n]+1;
if (check(n)){
scan(n+1);
}

}

}

private static boolean check(int n){
for(int j=0;j{
if (i[j]==i[n] || i[j]-i[n]==j-n || i[j]-i[n]==n-j ){
return false;
}

}

return true;
}
}


javascript(DHTML)版

<script LANGUAGE="JavaScript">

</textarea>
↑返回目录
前一篇: asp.net中调用javascript函数实现多功能日期控件示例
后一篇: JavaScript实际应用:对层的控制