次の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 スクリプト オプションが長くなるのはなぜですか?