The main theme of AspectJ1.6.2 was improved IDE incremental performance and a number of changes have gone in to improve how AspectJ and AJDT communicate - greatly reducing the time taken to perform an incremental compile (more details below). 1.6.2 also includes a number of fixes and enhancements covering areas such as:
Many thanks to all the users that helped diagnose problems, provide testcases and contribute fixes. In particular:
The complete list of issues resolved for AspectJ 1.6.2 (more than 60) can be found with this bugzilla query:
Two main changes in this area.
What difference does it make?
For every kind of build there are two numbers to take into account. Firstly there is the time spent in the compiler (time spent compiling and weaving), secondly there is the time spent in AJDT (time spent communicating what happened back to the user via the problems view, gutter annotations). Values for these times can be seen by opening the 'AJDT Event Trace View' in eclipse. The changes within AspectJ obviously effect the time spent in the compiler and that is described as 'time spent in AJDE' within the event trace view (AJDE being the compiler wrapper invoked by AJDT).
For a 1000 source file AspectJ project, the times spent in AJDE have changed as follows for a single whitespace change and save operation:
The AspectJ changes are done to support this, but we are still bedding them down in AJDT. If you want to see numbers like those above you need to install the latest AJDT dev builds for Eclipse 3.4 (an AJDT 1.6.1 dev build from the dev update site: http://download.eclipse.org/tools/ajdt/34/dev/update ) and then after starting Eclipse, select 'Window>Preferences' and in the AspectJ tab select 'Incremental Compiler Optimizations'. Let us know how you get on! When it has had enough testing it will be made the default and then is likely to be back ported to Eclipse 3.3 AJDT.