Java 使用静态编译的Groovy 2.0的性能如何

Java 使用静态编译的Groovy 2.0的性能如何,java,scala,groovy,groovy++,Java,Scala,Groovy,Groovy++,我看到Groovy 2.0的最新版本包括可选的静态编译以及其他一些附加的好处,比如可选的静态类型检查。在做了一点搜索之后,我还没有找到任何将Groovy的性能(静态编译)与Java和Scala进行比较的广泛基准测试。有人知道这样的性能比较吗?我们可以假设它与Groovy++死前一样吗?如果它的性能相当,Groovy会成为大型、性能关键型应用程序的可行替代方案吗?有一些(尽管很难看出发生了什么) 但是,从页面底部获取Groovy 1.8.2Fib源代码,并在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(static ternary): 819ms
Groovy(static if): 799ms
Groovy(instance ternary): 816ms
Groovy(instance if): 811ms
@groovy.transform.CompileStatic
放在脚本的顶部可以提供:

Groovy(static ternary): 1623ms
Groovy(static if): 1583ms
Groovy(instance ternary): 1744ms
Groovy(instance if): 1694ms
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的性能有些相同。例如“实例三元”和“实例如果”,它几乎是2的一个因子。看看我的。

不错。这是一个非常显著的改进。感谢Tim,这正是我所寻找的链接类型,尽管很高兴看到Groovy 2.0(静态)和Java/Scala性能之间的更多比较。我认为你是对的,我们可能不得不等待,因为它只发布了一个星期。我相信java大约在一周内运行这些测试550ms@user1503949您总是可以花几分钟启动一个编译器,然后运行所有3个,看看您得到了什么结果?蒂姆·耶茨最后一句话似乎毫无必要地冷嘲热讽。我希望程序员能够在实际应用程序中体验Groovy 2.0的性能。请看问题的最后一部分。