[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Re: Why are you using LTW?

I am surprised that Ramnivas did not point out that you can in effect have the best of both worlds with a hybrid solution which is extremely powerful when dealing with aspect libraries for diagnostics and resource monitoring as you can configure this without having to go through a complete build cycle. Test and Ops teams do not like to see two different versions of a library.


JXInsight 5.6 extends it load-time weaving cache to now store the transformed bytecode image across application executions turning load-time weaving into binary weaving on consecutive executions. Our approach makes the switch between load-time weaving and binary weaving transparent - the first time an application is executed JXInsight will use load-time weaving the second time it uses binary weaving via the persisted transformed bytecode from the initial load-time weaving transformation. This reduces the (re)start-up time as well as the memory footprint - both which is extremely important in production environments.

Message: 1
Date: Fri, 13 Feb 2009 14:06:02 -0500
From: Dave Whittaker <dave@xxxxxxxxxx>
Subject: Re: [aspectj-users] Why are you using LTW?
To: aspectj-users@xxxxxxxxxxx

I agree with Ramnivas.  As an added benefit, if you're like me, you'll  
see a big speed increase in your app when you move over to compile  
time as well since runtime weaving can be costly.

On Feb 10, 2009, at 4:36 PM, Ramnivas Laddad wrote:

Most use LTW as an easy way to get started with AspectJ (no build
script modifications). A few also need to weave into container classes
and LTW seems easier than performing offline binary weaving and
replacing original jars with woven jars. If that is not required, many
eventually move over to compile-time weaving.

I wouldn't worry about "official" compiler issue, since in the end the
VM sees essentially the same byte code regardless of the utilized
weaving mechanism.