Java风格的Groovy和Java一样快吗?

dsi*_*cha 13 java performance groovy static-typing groovy++

如果我理解正确Groovy是动态类型的,但由于它几乎是Java的超集,因此可以选择提供静态类型信息.如果只编写几个部分对性能至关重要的东西,同时避免使用多种语言的摩擦,这可能很有用.可以仅为性能关键部分提供类型注释.

在使用类似Java的子集和提供静态类型注释的函数/类中使用Groovy而不是Java的性能损失是什么?

Ted*_*eid 12

在groovy中声明类型并不会神奇地加快速度.它仍然是groovy代码,需要通过MOP以防万一动态变化.您没有获得静态链接只是因为您已经提供了类型信息.

对于性能敏感的东西,groovy代码不够快,你需要编写真正的java代码.

这个问题与之前的问题非常类似,我在回答挖掘生成的字节代码时给出了一个答案,显示了如何输入内容并不会加快速度.


Vor*_*eir 8

您也可以使用Groovy ++.将groovypp.jar拖放到类路径中,并使用@Typed注释包,类或方法.带注释的代码绕过MOP,因此几乎和Java代码一样快.

即使您没有声明类型,@ Typed代码也会在编译时推断出类型.