我有以下的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版本变得更长?