Time 使用“Groovy”时,Groovy代码变得越来越慢@CompileStatic“;
我有以下几段Groovy代码Time 使用“Groovy”时,Groovy代码变得越来越慢@CompileStatic“;,time,groovy,static-compilation,Time,Groovy,Static Compilation,我有以下几段Groovy代码 class Test { // @groovy.transform.CompileStatic static main(args) { long start = System.currentTimeMillis() def x = "3967" println x ==~ /[0-9]+([1379])$/ println System.currentTimeMillis()-st
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结尾的数字
我正在使用eclipse的groovy插件,因此当我想要运行代码时,我有几个选项,可以将其作为groovy脚本或Java应用程序运行。以下是运行时
Groovy Script: 93ms
Java Application: 125ms
但当我启用静态编译时,就会发生这种情况
Groovy Script: 0ms
Java Application: 312ms
我很困惑,1.我认为编译到Java应用程序应该比作为脚本运行Groovy更快。
2.为什么Groovy脚本选项在静态编译时会变得更快,而Java脚本会变得更长?Groovy即使作为脚本也会被编译成字节码。这必须与eclipse处理编译和执行的方式有关。在运行测试之前,你做了任何预热吗?扩展@ WillP的评论,模仿<代码>测试。Groovy < /C> >代码>测试。java < /C> >并排运行,可能分别使用<代码> Groovyc < /C>和