You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README-1.6.2.adoc 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. = AspectJ 1.6.2
  2. _© Copyright 2008 Contributors. All rights reserved._
  3. The main theme of AspectJ1.6.2 was improved IDE incremental performance
  4. and a number of changes have gone in to improve how AspectJ and AJDT
  5. communicate - greatly reducing the time taken to perform an incremental
  6. compile (more details below). 1.6.2 also includes a number of fixes and
  7. enhancements covering areas such as:
  8. * better support for generics and intertype declarations
  9. * better support for annotation style syntax
  10. * improvements to ajdoc
  11. * bringing the AspectJ structure model more in line with the JDT model
  12. Many thanks to all the users that helped diagnose problems, provide
  13. testcases and contribute fixes. In particular:
  14. * Dave Whittaker - for generics and intertype declaration testing and
  15. testcases
  16. * Jason Naylor, Arturo Salazar - for ajdoc testcases, fixes and design
  17. input
  18. * Andrew Eisenberg - for helping shape the AJDT/AspectJ interface and
  19. improving incremental
  20. The complete list of issues resolved for AspectJ 1.6.2 (more than 60)
  21. can be found with this bugzilla query:
  22. * 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
  23. resolved]
  24. '''''
  25. == 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])
  26. Two main changes in this area.
  27. * Better communication between AJDT and AspectJ. The interface between
  28. the two has been modified so that AJDT can give more input to AspectJ
  29. about what needs to be done for an incremental compile, rather than
  30. having AspectJ discover it each time.
  31. * Structure model changes. The AspectJ structure model (of types in a
  32. project and the weaving amongst them) allows handles to be created for
  33. every node, as a lightweight reference to the elements of the model.
  34. These handles were similar to those that JDT uses for references to
  35. elements of a project but not identical. Many many fixes have gone in to
  36. bring the handle formats closer and closer. For example including src
  37. folders as elements in the AspectJ model and using the fully correct set
  38. of JDT delimiters throughout each handle. This means there is no longer
  39. an expensive transformation cost in going from an AspectJ element to its
  40. related JDT element and no need for AJDT to maintain a more JDT like
  41. version of the AspectJ structure model. The imminent development builds
  42. of AJDT will utilise these changes.
  43. _What difference does it make?_
  44. For every kind of build there are two numbers to take into account.
  45. Firstly there is the time spent in the compiler (time spent compiling
  46. and weaving), secondly there is the time spent in AJDT (time spent
  47. communicating what happened back to the user via the problems view,
  48. gutter annotations). Values for these times can be seen by opening the
  49. 'AJDT Event Trace View' in eclipse. The changes within AspectJ obviously
  50. effect the time spent in the compiler and that is described as 'time
  51. spent in AJDE' within the event trace view (AJDE being the compiler
  52. wrapper invoked by AJDT).
  53. For a 1000 source file AspectJ project, the times spent in AJDE have
  54. changed as follows for a single whitespace change and save operation:
  55. * For a sourcefile unaffected by aspects. Was 1828ms, now 75ms.
  56. * For a sourcefile affected by some advice. Was 1844ms, now 90ms.
  57. * For a sourcefile affected by lots of advice. Was 1937ms, now 188ms.
  58. The AspectJ changes are done to support this, but we are still bedding
  59. them down in AJDT. If you want to see numbers like those above you need
  60. to install the latest AJDT dev builds for Eclipse 3.4 (an AJDT 1.6.1 dev
  61. build from the dev update site:
  62. https://download.eclipse.org/tools/ajdt/34/dev/update ) and then after
  63. starting Eclipse, select 'Window>Preferences' and in the AspectJ tab
  64. select 'Incremental Compiler Optimizations'. Let us know how you get on!
  65. When it has had enough testing it will be made the default and then is
  66. likely to be back ported to Eclipse 3.3 AJDT.
  67. '''''