Groovy 3之Native Lambda

为了提升Groovy中Lambda的性能,我借助静态编译模式提供的类型信息以及Java 7引入的invokedynamic指令为Groovy生成与Java同样的bytecode,暂且称之为”Native Lambda”。目前Native Lambda已被纳入Groovy 3中。

由于Lambda无法引用自身,也无法引用外层Lambda实例,故Lambda相对Closure而言不太适合运用于DSL的实现中。如果追求极致性能,则建议在静态编译模式下尽量使用Lambda,这也可以算作一个提升性能的小技巧。