使用“@CompileStatic”时,Groovy代码变得越来越快

时间:2013-07-17 18:06:13

标签: time groovy static-compilation

我有以下的Groovy代码snipet

class Test 
{
//  @groovy.transform.CompileStatic
    static main(args) 
    {
        long start = System.currentTimeMillis()
        def x = "3967"
        println x ==~ /[0-9]+([1379])$/
        println System.currentTimeMillis()-start
    }
}

应该测试天气 x 是以1,3,7或9

结尾的数字

我正在使用groovy插件进行eclipse,所以当我想运行代码时我有几个选项,我可以将它作为Groovy脚本运行,也可以作为Java应用程序运行。这是运行时。

Groovy Script: 93ms
Java Application: 125ms

但是当我启用静态编译时,会发生这种情况

Groovy Script: 0ms
Java Application: 312ms 

我很困惑,
1.我认为编译Java应用程序应该比将Groovy作为脚本运行更快 2.为什么Groovy脚本选项在静态编译时变得更快,而Java版本变得更长?

0 个答案:

没有答案