[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[List Home]
|
[aspectj-users] Incremental compiler enhancements
|
- From: "Andy Clement" <andrew.clement@xxxxxxxxx>
- Date: Thu, 3 Apr 2008 16:16:06 -0700
- Delivered-to: aspectj-users@eclipse.org
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=lDAmM+4EbSDMT/Z362+wSUvajVjEPsD3K5cdSHftTaI=; b=S3C0k48TDu0jo5u3AMGZwqmB2J5RtdFhVma8WYHxIO0F32dp3UVxDNhlLy478iewkOwOAFhhZytAPgNDSP48dDm2UlVdSy62Qwk5RuiodbTkZYsvVOfnj3tzx+QU5YqeSHxpNMfPsc+HmhAmynWFek0ZQVmUYQSzpWT2RksC3Ak=
- 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
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.