[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Incremental compiler enhancements

I've committed some changes discussed in
https://bugs.eclipse.org/bugs/show_bug.cgi?id=221427 .
What does this mean?  It means snappier compiles for a workspace
containing multiple AJDT projects that depend on each other, or depend
on JDT projects.

Your mileage may vary, but here are some numbers for working on a
codebase containing 4 AJDT projects in a dependency chain.  After
adding a public method to a type in the project at the top of the
dependency chain, the following numbers are for 'old' AJDT (averaged
over a few runs):

compile project one: 600ms
compile project two: 1188ms (full build)
compile project three: 9500ms (full build)
compile project four: 3034ms (full build)

total=14322ms

Now with the changes in

compile project one: 500ms
compile project two: 210ms (incremental build)
compile project three: 800ms (incremental build)
compile project four: 300ms (incremental build)

total=1810ms

So total build time for the change is reduced by about 87%.

For an AJDT project depending on a JDT project.  I change a type in
the JDT project but it is not a type that the AJDT project actually
cares about (is not referenced):

Old AJDT:  Compile time of AJDT project = 6200ms (full build)
New AJDT: Compile time of AJDT project = 500ms (incremental build)

These changes are in AJDT dev build 1.5.2.200804031719 available now
from the dev update site for Eclipse 3.3.

feedback appreciated - good or bad.

Andy.