|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- = AspectJ 1.6.2
-
- _© Copyright 2008 Contributors. All rights reserved._
-
- 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:
-
- * better support for generics and intertype declarations
- * better support for annotation style syntax
- * improvements to ajdoc
- * bringing the AspectJ structure model more in line with the JDT model
-
- Many thanks to all the users that helped diagnose problems, provide
- testcases and contribute fixes. In particular:
-
- * Dave Whittaker - for generics and intertype declaration testing and
- testcases
- * Jason Naylor, Arturo Salazar - for ajdoc testcases, fixes and design
- input
- * Andrew Eisenberg - for helping shape the AJDT/AspectJ interface and
- improving incremental
-
- The complete list of issues resolved for AspectJ 1.6.2 (more than 60)
- can be found with this bugzilla query:
-
- * https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AspectJ&target_milestone=1.6.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=[Bugs
- resolved]
-
- '''''
-
- == Incremental compilation (https://bugs.eclipse.org/bugs/show_bug.cgi?id=247742[bug 247742], https://bugs.eclipse.org/bugs/show_bug.cgi?id=245566[bug 245566], https://bugs.eclipse.org/bugs/show_bug.cgi?id=243376[bug 243376])
-
- Two main changes in this area.
-
- * Better communication between AJDT and AspectJ. The interface between
- the two has been modified so that AJDT can give more input to AspectJ
- about what needs to be done for an incremental compile, rather than
- having AspectJ discover it each time.
- * Structure model changes. The AspectJ structure model (of types in a
- project and the weaving amongst them) allows handles to be created for
- every node, as a lightweight reference to the elements of the model.
- These handles were similar to those that JDT uses for references to
- elements of a project but not identical. Many many fixes have gone in to
- bring the handle formats closer and closer. For example including src
- folders as elements in the AspectJ model and using the fully correct set
- of JDT delimiters throughout each handle. This means there is no longer
- an expensive transformation cost in going from an AspectJ element to its
- related JDT element and no need for AJDT to maintain a more JDT like
- version of the AspectJ structure model. The imminent development builds
- of AJDT will utilise these changes.
-
- _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:
-
- * For a sourcefile unaffected by aspects. Was 1828ms, now 75ms.
- * For a sourcefile affected by some advice. Was 1844ms, now 90ms.
- * For a sourcefile affected by lots of advice. Was 1937ms, now 188ms.
-
- 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:
- https://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.
-
- '''''
|