Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AJDT memory usage

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
>


Back to the top