[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] AJDT memory usage
|
Hi,
I've upgraded to the latests snapshot, and enabled the option. Memory usage
went down quite a bit, I'd say about 300M. The AjState object I described
earlier is now down to 250M. The structureModel is almost completely gone
(180K left), the typeMap is still the same. This change makes AJDT a little
more usable, but it still takes a huge amount of memory compared to the JDT.
With AJDT eclipse takes about 850M after a GC, where with the JDT eclipse only
takes about 150M (as indicated by the heap status of eclipse).
I'll leave the option on and report if I find any problems.
Best regards,
Emond
On Friday 16 July 2010 18:23:37 Andy Clement wrote:
> The first set of smaller changes are now in the AJDT dev builds (for
> 3.5 and 3.6). These changes will impact the number you mention below
> under 'structureModel'. As described in
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496 you need to turn
> this option on (because, right now, it is experimental) by setting
> -Xset:minimalModel=true in the project properties.
>
> If anyone on the list wants to try this out, please do, as depending
> on the positive/negative feedback I may make it the default.
>
> The world typemap will only shrink when type demotion is implemented
> for compile time weaving. This is a harder problem but I think I know
> a viable solution - it is just finding the time to implement it.
>
> cheers,
> Andy
>
> On 14 July 2010 00:12, Emond Papegaaij <emond.papegaaij@xxxxxxxxxx> wrote:
> > Hi,
> >
> > Unfortunately, I can't mail the heap dump. It is way to big (1.6G) and
> > contains information I cannot share. However, all the memory consumption
> > is in the same area: the world. This is what the AjState contains for
> > the largest project:
> > AjState: 340M
> > AjState.world: 220M (excluding model)
> > AjState.world.typeMap: 220M
> > AjState.world.typeMap.tMap: 220M (5040 items)
> > AjState.structureModel: 90M (not clear where this memory is going)
> >
> > The dominating objects are Strings (almost 3,500,000 instances, for all
> > projects). Is seems most of this is part of the types in tMap (for
> > example, 1,458,577 ConstantUtf8 instances, for all projects).
> >
> > I tried adding -Xset:typeDemotion=true, but that doesn't help (I thought
> > that option was enabled by default since 1.6.7). I also disabled the
> > spring-aspect library, reducing the number of aspects to 1, which only
> > contains declare error statements. The memory usage stayed about the
> > same.
> >
> > I hope this helps. If you need more information, please let me know.
> >
> > Best regards,
> > Emond Papegaaij
> >
> > On Tuesday 13 July 2010 19:14:37 Andy Clement wrote:
> >> Hi,
> >>
> >> I've been exploring some memory shrinking options under
> >> https://bugs.eclipse.org/bugs/show_bug.cgi?id=278496 for the last few
> >> releases (specifically reducing memory used under AJDT). If you are
> >> able to share heap dumps with me, I'll revisit that work and make some
> >> appropriate changes. Would that be possible? You can email the heap
> >> dumps to me rather than attaching them to bugzilla. I would like to
> >> confirm precisely where the memory is being used to ensure the
> >> techniques I'm looking at under 278496 will help.
> >>
> >> Andy
> >>
> >> On 13 July 2010 02:53, Emond Papegaaij <emond.papegaaij@xxxxxxxxxx>
wrote:
> >> > Hi,
> >> >
> >> > We are thinking about introducing AspectJ into our project, so we
> >> > started by switching from the Java compiler to the AspectJ Builder to
> >> > make sure it is at least capable of building the project. It turns
> >> > out the AspectJ Builder is able to build the project, but its memory
> >> > usage is way to high to be usable. After a full rebuild, eclipse uses
> >> > almost 1.2GB, even after a full GC.
> >> >
> >> > Inspection of a heap dump shows this memory is all taken by 42 AjState
> >> > (and referenced) objects (one for each AspectJ project in my
> >> > workspace). One even takes over 350M. Most of the memory usage seems
> >> > to be in the AspectJ world.
> >> >
> >> > This is on a project with just over 600k lines of Java code, 1 aspect
> >> > (with a few declare error statements, no advice) and the
> >> > spring-aspects, mostly for the @Transactional aspect. This project
> >> > contains 42 modules, all projects in Eclipse. I'm using Eclipse 3.5.2
> >> > with the latest AJDT development build (2.1.1.e35x-20100712-1300)
> >> > with AspectJ
> >> > 1.6.10.20100712130000.
> >> >
> >> > Is there any way we can reduce this memory usage? I tried disabling
> >> > incremental building and disabling the weaving service, but that
> >> > didn't help.
> >> >
> >> > Best regards,
> >> > Emond Papegaaij
> >> > _______________________________________________
> >> > aspectj-users mailing list
> >> > aspectj-users@xxxxxxxxxxx
> >> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >>
> >> _______________________________________________
> >> aspectj-users mailing list
> >> aspectj-users@xxxxxxxxxxx
> >> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users