--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html> <head>
+<title>AspectJ 1.6.2 Readme</title>
+<style type="text/css">
+<!--
+ P { margin-left: 20px; }
+ PRE { margin-left: 20px; }
+ LI { margin-left: 20px; }
+ H4 { margin-left: 20px; }
+ H3 { margin-left: 10px; }
+-->
+</style>
+</head>
+
+<body>
+<div align="right"><small>
+© Copyright 2008 Contributors.
+All rights reserved.
+</small></div>
+
+<h1>AspectJ 1.6.2 Readme</h1>
+
+<p>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:
+<ul>
+<li>better support for generics and intertype declarations
+<li>better support for annotation style syntax
+<li>improvements to ajdoc
+<li>bringing the AspectJ structure model more in line with the JDT model
+</ul>
+<p>Many thanks to all the users that helped diagnose problems, provide testcases and contribute fixes. In particular:
+<ul>
+<li>Dave Whittaker - for generics and intertype declaration testing and testcases
+<li>Jason Naylor, Arturo Salazar - for ajdoc testcases, fixes and design input
+<li>Andrew Eisenberg - for helping shape the AJDT/AspectJ interface and improving incremental
+</ul>
+
+<p>The complete list of issues resolved for AspectJ 1.6.2 (more than 60) can be found with
+this bugzilla query:
+<ul>
+<li><a href="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</a>
+</ul>
+
+<hr>
+
+<h2>Incremental compilation (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=247742">bug 247742</a>, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=245566">bug 245566</a>, <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243376">bug 243376</a>)</h2>
+
+<p>Two main changes in this area.
+<ul>
+<li>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.
+<li>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.
+</ul>
+
+<p><i>What difference does it make?</i>
+<p>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).
+<p>For a 1000 source file AspectJ project, the times spent in AJDE have changed as follows for a single whitespace change and save operation:
+<ul>
+<li>For a sourcefile unaffected by aspects. Was 1828ms, now 75ms.
+<li>For a sourcefile affected by some advice. Was 1844ms, now 90ms.
+<li>For a sourcefile affected by lots of advice. Was 1937ms, now 188ms.
+</ul>
+<p>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.
+<p>
+<hr>
+<!-- ============================== -->
+</body>
+</html>