2

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

4

0 回答 0