Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] load-time weaving plans?


Andy,

With all of the announcements that have come out in the last month, I figured that you had your hands full but obviously I should have more faith!  I installed the latest development driver and I can see immediately how much faster it is.  It looks very close to the JDK.  I need to play with this on a large code base prove it scales, but looks like you and Matthew are right, this is the way to go.

Thanks again.

cheers,
-adrian.
--
Adrian Powell
Centre for IBM e-Business Innovation :: Vancouver
apowell@xxxxxxxxxx / 604-297-3194



Andrew Clement <CLEMAS@xxxxxxxxxx>
Sent by: aspectj-users-admin@xxxxxxxxxxx

01/27/2005 09:29 AM

Please respond to
aspectj-users

To
aspectj-users@xxxxxxxxxxx
cc
Subject
Re: [aspectj-users] load-time weaving plans?






Hi Adrian,


With the recent fix I put in to support binary weaving of 'declare parents: extends', we now have everything we need in order for incremental compilation to operate correctly - the incremental structure model work was finished a little while ago.  Incremental is going to be the default mode in AJDT shortly and anything 'unusual' (excessively slow build times...) should be considered a bug that we have to fix.  


At its most basic level of operation, if you simply change a single class or interface then that file should be subject to a quick compile/weave time - if you don't see that, its a bug.


If you change an aspect, we currently do a full build - we could be smarter and not do a full build if you only change the advice or any methods in the aspect, it is really only if you change the pointcuts that we need a full build.


If you delete a file, I can imagine there is a problem at the moment trying to determine what in the bin directory needs deleting - so we fall back on doing a full build, this should be fixed - we can be much smarter.


I'm now going to sit back and watch the bugzilla flood gates open ;)


Andy.

---

Andy Clement

AspectJ

clemas@xxxxxxxxxx




Adrian Powell <apowell@xxxxxxxxxx>
Sent by: aspectj-users-admin@xxxxxxxxxxx

27/01/2005 16:00

Please respond to
aspectj-users@xxxxxxxxxxx

To
aspectj-users@xxxxxxxxxxx
cc
Subject
Re: [aspectj-users] load-time weaving plans?








Matthew,


Thanks for your help.  Can you comment on what is happening with the incremental compilation?  I know you have made a lot of improvements, but I'm still gun-shy from earlier versions where, even with the incremental compile turned on, compile was relatively slow, and some things like deleting a file would trigger a full build.  This can make synchronizing and refactoring painful.


I understand that the LTW means a run-time penalty and restricts us to the auxilliary aspects, but I'm still struggling to get buy-in from other teams.  As I say, the run-time penalty isn't that high and it is more than made up for the time saved during development.  I thought it might make it more attractive to some teams by lowering the bar to entry.


cheers,
-adrian.
--
Adrian Powell
Centre for IBM e-Business Innovation :: Vancouver
apowell@xxxxxxxxxx / 604-297-3194

Matthew Webster <matthew_webster@xxxxxxxxxx>
Sent by: aspectj-users-admin@xxxxxxxxxxx

01/27/2005 03:12 AM

Please respond to
aspectj-users


To
aspectj-users@xxxxxxxxxxx
cc
Subject
Re: [aspectj-users] load-time weaving plans?













Adrian,

The first thing to point out is that while the AW and AspectJ projects have
merged along with their contributors and communities the code bases
(largely for licensing reasons) have not. The experience of LTW which Jonas
and Alex have brought with them has made a tremendous contribution to the
AspectJ 5 specification, most of which has already been prototyped and is
in the process of being committed in time for the March final release.

To answer your question improving weaving performance during development
the best solution is to use incremental compilation
(http://eclipse.org/ajdt/whatsnew120M2/). That way you get the advantage of
all the structure information (Outline, Cross Reference and Visualiser
views). We are planning LTW support for AJDT but you have to pay the
weaving cost some time i.e. when you run the program. This approach may be
more appropriate for optional infrastructure aspects i.e. tracing.

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx
http://w3.hursley.ibm.com/~websterm/

Adrian Powell <apowell@xxxxxxxxxx>@eclipse.org on 27/01/2005 05:26:57

Please respond to aspectj-users@xxxxxxxxxxx

Sent by:    aspectj-users-admin@xxxxxxxxxxx


To:    aspectj-users@xxxxxxxxxxx
cc:
Subject:    [aspectj-users] load-time weaving plans?



The LTW page in the Developer's Workbook (
http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/ajdk15notebook/ltw-configuration.html
) looks exciting.  Is this still a vision, or are any of these pieces
available today?

I've found the performance of the AJDT weaver to be a common gripe with
some teammates and even though the AJ team has made some impressive gains,
there is still a large gap.  I wonder if the AW LTW would be a good tool
for development, when we are constantly saving, and so rebuilding.  In the
full build and deploy, we can still use the static weaver for runtime
performance.  It seems an easy (if maybe inelegant) way to get immediate
and dramatic performance improvements.

Thoughts?  Has any one else tried this out?  What is the vision for merging
AW with AJ?

cheers,
-adrian.
--
Adrian Powell
Centre for IBM e-Business Innovation :: Vancouver
apowell@xxxxxxxxxx / 604-297-3194

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-users



Back to the top