On Tue, Oct 26, 2010 at 10:40 AM, Andy Clement <[email protected]> wrote: > On 25 October 2010 15:09, Jon Seymour <[email protected]> wrote: >> I take it that 1.6.7 might substantially improve this, is that so? > > 1.6.7 included some radical changes, but you should skip that release > - either go with 1.6.8 or if you can just go with the most recent, > 1.6.10. How well these will affect your memory situation, I can't be > sure as I've done limited testing of the weaver under spring. It is > possible springs usage of AspectJ needs further tweaking. >
So, I ran smaller version of my test (which doesn't involve as many types) with 1.6.10-RC1, and the number of ReferenceType objects dropped by ~30% (from 260,000 to 180,000 for this test). As far as I can tell, this is because it adjusted k - the number of ReferenceTypes per application type. To make a serious dent in the numbers, there would have to be a way for groups of related PointCutExpressionImpl to share the same ReflectionWorld instance and hence type map. In my case, this would theoretically improve things by a factor of 15 (dropping 180,000 down to a slightly saner 12000). I think there is probably scope in Spring to share ReflectionWorlds across weaver.internal.tools.PointCutExpressionImpl instances, but I will pursue this further in the Spring forums... > 1.6.10 also includes the change that addresses that bug you raised > about anchoring of memory in the Dump hashmap. > Thanks for that! > cheers > Andy > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
