Groovy код становится все быстрее и медленнее при использовании "@CompileStatic"

У меня есть следующий фрагмент кода 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
    }
}

Который должен проверять погоду х это число, оканчивающееся на 1,3,7 или 9

Я использую плагин groovy для eclipse, поэтому, когда я хочу запустить код, у меня есть несколько вариантов, я могу запустить его как Groovy Script или как приложение Java. Вот время выполнения.

Groovy Script: 93ms
Java Application: 125ms

Но когда я включаю статическую компиляцию, это происходит

Groovy Script: 0ms
Java Application: 312ms 

Я не совсем понимаю,
1. Я думал, что компиляция в Java-приложение должна выполняться быстрее, чем запуск Groovy как скрипта.
2. Почему опция скрипта Groovy становится намного быстрее со статической компиляцией, а Java - более длинной?

0 ответов

Другие вопросы по тегам