Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Memory Usage =~ k * P * T [ Spring 2.5.6, AspectJ 1.6.5 ]

On Tue, Oct 26, 2010 at 10:40 AM, Andy Clement <andrew.clement@xxxxxxxxx> wrote:
> On 25 October 2010 15:09, Jon Seymour <jon.seymour@xxxxxxxxx> 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
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top