AJDT: AspectJ Development Tools

AspectJ Development Tools (AJDT)

What's new in AJDT 1.3.1

This release of the AspectJ Development Tools incorporates the latest AspectJ 1.5.1 release, and includes a number of bug fixes since the AJDT 1.3 release (see the What's new in AJDT 1.3 page for the changes in that release).

AJDT 1.3.1 is for Eclipse 3.1.2 only. The same bug fixes and AspectJ release have also been included in development builds of AJDT 1.4 for Eclipse 3.2.

Reduced memory usage

This release of AJDT incorporates AspectJ 1.5.1a, which includes bug fixes and dramatic improvements to memory usage. Combined with improvements in AJDT, overall memory usage is now typically less than half that of AJDT 1.3!

To measure these improvements we used JConsole (available in J2SE 5.0) to profile memory usage during five full build cycles of a workspace, forcing a garbage collection between each run (plus a slight pause to separate each cycle). The test workspace was the main codebase of AJDT 1.3.1 itself, which consists of ten source code projects, with a total of around 130,000 lines of code. Here are the results comparing AJDT 1.3.1 against AJDT 1.3, using Eclipse 3.1.2 in both cases:

Memory usage comparison

Yes the scale really is the same in both cases! The two charts generated by JConsole have been carefully superimposed using the same scale. Whilst preserving similar compile times, memory usage has been improved in two ways in this scenario: peak usage is down from around 550Mb to around 250Mb, and residual usage between compiles is down from 300 - 330Mb to just over 100Mb (this is for the entire JVM so includes the rest of Eclipse).

Bug fixes This release contains a number of bug fixes. The full list is available via this CVS query.