Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [ajdt-dev] Re: Slow Build and Clean Times ... Where To Start?

We have a large number of small projects.  About 300 I think.  I would guess
we have a complicated dependency tree.  I didn't design things this way I've
just inherited the structure =).  It looks as if we are using a custom build
of 1.2

org.eclipse.ajdt.ui_1.2.0.20041005173154

from the looks of things back in October.  Has the 1.2 line always had the
wrapper or could we have an older version before you added it?  I don't
think memory is completely the issue.  I have the heap set at 512megs right
now and things still take 2-3 hours on a full build clean.  I don't think
even 500megs of code should take that long =). I'll try turning off the
structure view and running things tonight to see if that has an effect.

Scott 

-----Original Message-----
From: ajdt-dev-admin@xxxxxxxxxxx [mailto:ajdt-dev-admin@xxxxxxxxxxx] On
Behalf Of Matt Chapman
Sent: Tuesday, November 30, 2004 4:28 PM
To: ajdt-dev@xxxxxxxxxxx
Subject: [ajdt-dev] Re: Slow Build and Clean Times ... Where To Start?

Hi Scott,

Bug 70000 relates to runtime classpath resolution with a very high number of
dependencies between projects. In the 1.1.x line, AJDT uses this runtime
classpath resolution at build time, hence the effects of the problem are
potentially very bad, because the resolution is hit many times during the
build process. However, we put in a wrapper around the JDT runtime classpath
resolver, with a cache to avoid this bottleneck. In the 1.2.0 line, we
implemented a build time classpath resolver, largely copied from JDT, which
doesn't have the same performance characteristics.

So to know for sure whether this is relevant, we need to know which version
of AJDT you are using, and more details of your setup - do you have a small
number of large projects, or a large number of small ones with a complicated
dependency tree?

The main issue here is probably memory - a JVM which is low on memory will
have to spend lots of time on GC (plus of course the OS might be using more
swap). The memory requirements of AspectJ are typically greater than javac,
and the memory requirements of AJDT are typically greater than JDT because
the AJ versions do more (we are working on reducing the gap, but this is
necessarily something of a long term effort). So one line of investigation
would be to time the clean/build cycle with different heap sizes, if you
have the physical ram to do that - you must be using a sizeable heap
already.

Are you building inside Eclipse? If so you could try not building the
structure model (under AspectJ preferences). You could also compare with an
external build, using something like Ant + ajc, if you are setup to do that.

Regards,

Matt.

On Tue, 30 Nov 2004 12:29:01 -0600, Scott Delap wrote:
> I just started working on a very large project built on Eclipse 2.1 
> with about 500 megs of source.  We are using Eclipse 3.0 as our IDE.  
> The existing developers claim that before AspectJ our build/clean took 
> 10/20 minutes.  Now it takes an hour and a half to two hours.  One of 
> them pointed me in the direction of:
> 
> Bug #70000 related to org.eclipse.jdt.launching plug-in
> 
> I'd like to start figuring out where the slowdown is.  I've looked on 
> the Eclipse site but don't see any good starting points to the JDT or 
> the AJDT.  Could someone please point me in thd direction of some 
> resources to start profiling the slowdown of the build clean cycle and 
> where to fix it at.
> 
> Scott

_______________________________________________
ajdt-dev mailing list
ajdt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/ajdt-dev



Back to the top