I see that the recent release of Groovy 2.0 includes optional static compilation along with several other added benefits, like optional static type checking. After doing a b
There are some benchmarks here (though it's hard to see what's going on)
However, taking the Groovy 1.8.2 Fib
source code from the bottom of the page, and running it in groovy 2.0 gives you:
Groovy(static ternary): 1623ms
Groovy(static if): 1583ms
Groovy(instance ternary): 1744ms
Groovy(instance if): 1694ms
Putting @groovy.transform.CompileStatic
at the top of the script gives you:
Groovy(static ternary): 819ms
Groovy(static if): 799ms
Groovy(instance ternary): 816ms
Groovy(instance if): 811ms
Obviously, this is not a complete benchmark (it's only testing one thing), it doesn't include warmup or anything, and Groovy 2.0 has only been out a week, however it does hint towards a good speed improvement in this situation...