Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
1.6-rc-1, 1.6-rc-2
-
None
-
None
Description
From version 1.6.x onwards, groovy compiler caches the number constants to optimize the runtime performance. Currently it is done only for top-level classes and not for classes that get generated for closures.
So, If I say
def cl = { 1000.times{ def i = 10 println i } } cl()
Constants 10 and 1000 are not cached and Integer object for value 10 gets created 1000 times. Optimization done for top-level classes is needed even for inner classes that get generated for closures.