[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] {Spam?} Re: AJDT and memory
|
On Thursday 02 September 2010 18:31:05 Andy Clement wrote:
> Thanks for confirming that stackoverflow is fixed.
>
> > I wait until Eclipse is finished building, force a few GCs, until memory
> > usage is stable and then make a heap dump. The heapdump shows about 700M
> > used by AjState objects. About 75% of this memory is taken by
> > world.typeMap.tMap. For the largest AjState, the expendableMap (I
> > suspect that this is where the demoted types move to) is very small in
> > size (only 700k), but still contains 5224 entries, according to the size
> > field. I don't know if this number really shows the number of entries in
> > the map, because the size() method on WeakHashMap first expunges stale
> > entries. The tMap has a size of 1424.
>
> I'm still surprised there is so much memory being held onto. I
> vaguely recall you were just using declare warning/error - or am I
> mistaken? The typemap 'tMap' field should hold onto:
> - primitive type representations
> - Object
> - aspects
> - types affected by intertype declarations from aspects
>
> and nothing else. 1424 does seem high as if you are using only
> declare warning that would suggest you have around 1415 aspects :) So
> something else must be going on.
We indeed only have a single aspect with a few declare error statements. In
the tMap I see many classes that are not affected by aspects (if they were, I
should have seen a compile error). Is there any way I can see why these types
are kept in the tMap?
Best regards,
Emond Papegaaij