groovy语言没有java的原型类型,所有都是Object
如语句
groovy编译之后其实质是
这虽然在Map或List处理时提供了方便,不过对于循环来说,性能就降低了很多。
如java代码
和groovy代码
运行多次,java代码需时间都在10左右,而groovy却需要550左右。
希望高手解答,现在学groovy,突然自己测试发现性能相差这么多,去网上查询,也都说groovy比java慢10倍左右,就再也没有提起学groovy的劲头。groovy很火热肯定有他的长处,不过这么慢就没什么问题吗?没有用groovy写大点应用的经历,不知道高手们有没有过,是不是这段代码慢是特殊情况,大多数时候性能相差不多呢?
如语句
int a = 1
groovy编译之后其实质是
Integer a = new Integer(1);
这虽然在Map或List处理时提供了方便,不过对于循环来说,性能就降低了很多。
如java代码
public class JavaTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();
for(long i=0;i<1000000;i++);
System.out.println(System.currentTimeMillis()-start);
}
}
和groovy代码
public class GroovyTest{
public static void main(String[] args){
def start = System.currentTimeMillis();
0.upto(1000000){}
println(System.currentTimeMillis()-start);
}
}
运行多次,java代码需时间都在10左右,而groovy却需要550左右。
希望高手解答,现在学groovy,突然自己测试发现性能相差这么多,去网上查询,也都说groovy比java慢10倍左右,就再也没有提起学groovy的劲头。groovy很火热肯定有他的长处,不过这么慢就没什么问题吗?没有用groovy写大点应用的经历,不知道高手们有没有过,是不是这段代码慢是特殊情况,大多数时候性能相差不多呢?