为什么Groovy与32位和64位JDK有如此大的差异

时间:2016-02-04 09:27:49

标签: groovy

我用不同的JDK编写了一些代码来测试性能,这里是代码

class GroovyWithJdk{
    static void run(){
        1000.times { "fib"(20) } //for dynamic
    }

    static def fib(n){
        if(n<2)
            return 1

        def c = {x,y->fib(x)+fib(y)} //test closure
        c(n-1,n-2)
    }
}



println System.getProperty("java.version")

long start = System.currentTimeMillis()
GroovyWithJdk.run()
println "${System.currentTimeMillis()-start}ms"

结果如下:

1.6.0_45 6652ms

1.7.0_79 5590ms

1.8.0_20 4435ms

32位JDK

1.8.0_51 12858ms

为什么32位JDK如此之慢?

0 个答案:

没有答案