Re: [aspectwerkz-user] Speeding up roundtrip

Alexandre Vasseur <[email protected]> Tue, 21 Jun 2005 17:46:52 +0200
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
Atif, your contribution would be welcome. Perhaps you can add a JIRA
so that we can track discussion and patch (if you provide some).
http://jira.codehaus.org/browse/AW-459

I expect that to be of the form 
AspectWerkzC ...options... -input <file>
where <file> would contain the list of .class files to weave,
generated from somewhere.
The next step is then to detail who/what produces and updates this
file - a custom Ant taks that wraps Ant javac one if I understand.

Mattias, I would still appreciate some app that I could use to see
what can be optimized - given that you only have execution pointcuts
Alex


On 6/21/05, Khan, Atif (Matrix) <[email protected]> wrote:
>  
> I can definitely share this. I am just not sure how do I do that. Is this
> something that I can contribute to the base of AspectWerkz? 
>   
> I do not use a different output directory. So, I don't have to copy any
> classes. Only the classes written to the text file by JAVAC task are weaved
> by the AspectWerkzCTask. 
>   
> Regards 
> Atif Khan
>  
>  ________________________________
>  From: Mattias Jiderhamn [mailto:[email protected]] 
> Sent: Tuesday, June 21, 2005 10:12 AM
> To: [email protected]
> Subject: RE: [aspectwerkz-user] Speeding up roundtrip
> 
>  
> Interresting. Is this something you would like to share?
> 
> Have you also made AspectWerkzC use a different output directory, or do you
> make a copy of all the (modified) class files first, so that you don't have
> to recompile all classes next time?
> 
> At 2005-06-21 15:13, you wrote:
> 
>  
> We had the same issue. Our codebase is really big. So, what I did was to
> override the "javac" ANT task to write the file list to a text file. Since
> javac already checks for the timestamps, it only compiles the modified
> classes. This way I have a list of only modified classes. I then extended
> the AspectwerkzCTask to read the files from this text file and AOP compile
> them. This way I don't have to weave the whole codebase evrytime. 
> 
> Regards 
> Atif Khan 
> 
> -----Original Message----- 
> From: Alexandre Vasseur [mailto:[email protected]] 
> Sent: Tuesday, June 21, 2005 7:04 AM 
> To: [email protected] 
> Subject: Re: [aspectwerkz-user] Speeding up roundtrip 
> 
> Hi 
> 
> You perhaps need to see how the matching is done using
> -Daspectwerkz.transform.details=true 
> That may help to narrow call side (call/get/set) pointcuts f.e. One such
> pointcut can indeed sometime lead to parsing everry single bytecode
> instruction.
> 
> Aside you may use include/exclude element in your aop.xm if you know that
> some files will not be weaved at all. 
> 
> AspectWerkzC does not support writing to a different location. 
> On the other hand you may be able to implement a wrapper that checks for
> .class file timestamps to compile only modified files (then keep track of
> the lastRun timestamp in some per project file)
> 
> Alex 
> 
> On 6/21/05, Mattias Jiderhamn <[email protected]> wrote: 
> > Our application is big enough to require a few minutes of offline 
> > weaving on my machine, so we use online weaving in development. On the 
> > other hand, reloading the application in the web container using 
> > online weaving isn't much better (say ½-1 minute). This makes 
> > developing very slow, since the code-compile-test cycle has a lot of 
> > weaving overhead. 
> > 
> > Is there any better way to do this? Can I have AspectWerkz weave only 
> > modified classes offline? 
> > If I weave the whole project and then try to compile in my IDE 
> > (IntelliJ), I get compiler errors. Could I make AspectWerkzC output 
> > the weaved files in a different directory, so that I can compile from 
> > the IDE and then have AspectWerkz weave the modified classes only? 
> > 
> > Thanks in advance, 
> >    Mattias Jiderhamn 
> > 
> > 
> 
> ****************************************************************************
> This email and any attachments hereto contain confidential and/or privileged
> information. This information is intended solely for the individual or
> entity named herein. If the reader of this email is not the intended
> recipient, you are hereby notified that any use, disclosure, storage,
> dissemination, or duplication of this communication is strictly
> prohibited.If you have received this communication in error, please notify
> the sender immediately by telephone - +65 63956166, or by return e-mail, and
> delete the message from your computer. As the intended recipient, you
> acknowledge that emails transmitted over the World Wide Web may be subject
> to hacking or unauthorised interferences. If in doubt as to the form in
> which this message was originally transmitted, please verify directly with
> the writer.
> 
> ***************************************************************************