diff options
author | aclement <aclement> | 2006-11-20 10:29:29 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-11-20 10:29:29 +0000 |
commit | 7143428801aa03299b6ff1651df7012097024576 (patch) | |
tree | d8a709dfe47516de6899c976ebf893c163c44dbe /docs | |
parent | 9db64977999afb029da8a4f06aaeb16eeab59953 (diff) | |
download | aspectj-7143428801aa03299b6ff1651df7012097024576.tar.gz aspectj-7143428801aa03299b6ff1651df7012097024576.zip |
153 readme - draft
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dist/doc/README-153.html | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/docs/dist/doc/README-153.html b/docs/dist/doc/README-153.html new file mode 100644 index 000000000..45b5911fe --- /dev/null +++ b/docs/dist/doc/README-153.html @@ -0,0 +1,104 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> <head> +<title>AspectJ 5 Development Kit v1.5.3 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 2006 Contributors. +All rights reserved. +</small></div> + +<h1>AspectJ 5 v1.5.3 Readme</h1> + +<p>This release includes a number of bug fixes and a few enhancements (over 80). The full list of resolved issues can be found with +<a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AspectJ&target_milestone=1.5.3&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="> +this bugzilla query</a>. +</p> +<p> +Notable changes since the 1.5.2 release include: +<br> + +<h2>Pipeline compilation - <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=146781">146781</a></h2> +<p>Until this release, the memory profile for AspectJ looked like this (time is along the X axis, memory usage is the Y axis)</p> + +<code><pre> + /\_ + / \_ + / \_ + / \_ + / \_ +/ \ +</pre></code> +<p> +The first phase (as we go up and up and up) is the compilation of every file - when the peak is reached we then start weaving files one by one, discarding them once woven and dumped to disk. + +In 1.5.3 we don't compile everything up front - we compile and weave files one at a time. Giving us this profile: +</p> +<code><pre> + /\ /\ /\ + / \/ \/ \ +/ \ +</pre></code> +<p> +Each peak is compiling a file, then it is woven, dumped to disk and the space recovered (the trough) - we then move onto the next file. + +What does this mean? The peaks are far far lower, so you need far less memory to compile a project. For example, I have a 1000file project, affected by aspects at >750 join points. + +For given values of Xmx, here are the times taken to compile it (on the command line) with AspectJ1.5.2:</p> +<pre><code> +Xmx Time +512M 33seconds +256M 40seconds +220M 116seconds +212M OutOfMemory +</pre></code> + +<p>The times gradually increase as the memory is reduced as the VM is thrashing in garbage collection. + +Here are the results for AspectJ1.5.3:</p> +<pre><code> +Xmx Time +512M 33s +256M 33s +180M 33s +140M 33s +100M 35s +80M 43s +70M OutOfMemory +</pre></code> + +<p>So with 1.5.3, it isn't until around 80M that the VM starts to struggle with memory. These savings will affect any code built from source: on the command line, in Ant, +or in AJDT. It will not affect binary weaving - that is a future enhancement.</p> + + +<h2>Serviceability - <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=150487">150487</a></h2> +<p>As AspectJ grows in popularity, we find that it is becoming more difficult for users to come up with the small testcases +that recreate problems - the usage scenarios for AJ are becoming more and more sophisticated. To help us work on +problems in these scenarios we have added a tracing and logging framework and improved our dump mechanism. These traces and +dumps can be attached to bug reports. In AspectJ 1.5.3 we have included +some <a href="http://www.eclipse.org/aspectj/doc/released/pdguide/index.html">documentation</a> on how to configure these new features. Don't be surprised if you get asked +for an AspectJ trace on a future bug report! +</p> + +<h2>LTW enhancements</h2> + +<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=132080">132080</a> describes how the +concrete aspects that can be defined in aop.xml are now exposed for weaving.</p> +<p><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=149289">149289</a> + +</p> + +<p>For information on bug fixes in AspectJ 5 v1.5.3, see the <a href="changes.html"> changes</a> document.</p> + +</body> +</html> |