[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[aspectj-users] Incremental compiler enhancements
- From: "Andy Clement" <andrew.clement@xxxxxxxxx>
- Date: Thu, 3 Apr 2008 16:16:06 -0700
- Delivered-to: email@example.com
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=JxNYbgtDsCAYGcXu9HEhYg4g1KR7IeE/lcJ4WYyYrKqH7nnevXElhPe3nyWRO3nBxSyFiwwreNjnfCU2AjS4g6U1cB6Cq58EJAW4qwEShkgFOmsoHSMGB/2yDrE6DNc+a7+MsZ9VYsiElFs5IOp14f6HNZ3cZrvOXAIXcGX51Rk=
I've committed some changes discussed in
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)
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)
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 22.214.171.124804031719 available now
from the dev update site for Eclipse 3.3.
feedback appreciated - good or bad.