我有以下 Groovy 代码片段
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 脚本选项变得更长?