Groovy 2.0与静态编译的性能如何?

我看到最近发布的Groovy 2.0包括可选的静态编译以及其他一些额外的好处,比如可选的静态类型检查。 在做了一些搜索之后,我找不到任何广泛的基准测试,将Groovy的性能(使用静态编译)与Java和Scala进行比较。 有谁知道任何这样的性能比较? 我们可以假设它与Groovy ++在它死之前是一样的吗? 如果它的性能可比,那么Groovy是否可以替代大型,性能关键的应用程序?

这里有一些基准 (虽然很难看到发生了什么)

但是,从页面底部获取Groovy 1.8.2 Fib源代码,并在groovy 2.0中运行它可以为您提供:

 Groovy(static ternary): 1623ms Groovy(static if): 1583ms Groovy(instance ternary): 1744ms Groovy(instance if): 1694ms 

@groovy.transform.CompileStatic放在脚本的顶部为您提供:

 Groovy(static ternary): 819ms Groovy(static if): 799ms Groovy(instance ternary): 816ms Groovy(instance if): 811ms 

显然,这不是一个完整的基准测试(它只测试一件事),它不包括热身或任何东西,而Groovy 2.0只出现了一周,但它确实暗示了在这种情况下良好的速度提升……

我相信java在大约550ms内运行这些测试

我做了一些与Java的性能比较。 对于使用@CompileStatic的Groovy的“静态三元”和“静态if”性能与Java有些相同。 对于“实例三元”和“实例if”,它几乎是2的因子。请参阅我的博客文章 。