Groovy 2.2 では @Memoized というAST変換が追加されています。
メソッドの引数と結果をキャッシュしてくれます。 使い方はメソッドに@Memoized と追加するだけ。
# メモイズドってのは外人にとってはキモくはないのだろうか。
@Memoized を付けなかった場合の結果
当然ながら、何度も fibo(1) が再計算されています。
付けた場合の結果
fibo(n) が1度しか計算されていません。
@Memoized を付けた場合、メソッドの呼び出し回数がぐっと減るので、付けない場合よりも大きいフィボナッチ数が計算できます。
計算にコストがかかるものなどに便利に使えそうですね。