Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AspectJ 1.6.7 - faster than ever.

Yes, all weaving is sped up, regardless of when it is done (compile
time, post-compile time, load time).  Everyone should see a benefit,
but larger benefits will be experienced by those using pointcuts
fitting the 'common use cases' (which I'll blog about).  It is likely
to use less memory and report less cantFindType problems too, but I've
not profiled that yet.  Grab a dev build and try it out - the latest
builds already include some of the optimizations but not all.

Andy

2009/11/12 Jean-Louis.Pasturel <jean-louis.pasturel@xxxxxxxxx>:
> does this new matching improves also LTW weaving ?
>
> Mario Scalas a écrit :
>
>> Now let's wait for next AJDT release to include it! :)
>> Mario
>>
>> On Wed, Nov 11, 2009 at 12:50 PM, Simone Gianni <simoneg@xxxxxxxxxx
>> <mailto:simoneg@xxxxxxxxxx>> wrote:
>>
>>    Great work Andy!!!!!!!!
>>
>>    Simone
>>
>>
>>    Andy Clement wrote:
>>
>>        I've been a bit quiet on the list lately, I've had my head down in
>>        AspectJ adding some timing infrastructure.  I've just put up a
>>        first
>>        blog article about what you can find in the latest AspectJ.
>>         Basically
>>        the latest dev builds will produce profiling information for your
>>        pointcuts allowing you to see which pointcuts are hurting your
>>        compile
>>        times.  Information like this:
>>
>>        Pointcut matching cost (total=6532ms for 675000 joinpoint
>>        match calls):
>>        Time:482ms (jps:#168585) matching against
>>           (staticinitialization(*y*.()) && persingleton(SimpleAspect))
>>        Time:3970ms (jps:#168585) matching against
>>           (execution(* *t*.*(*)) && persingleton(SimpleAspect))
>>        Time:538ms (jps:#168584) matching against
>>           (execution(* *f*(..)) && persingleton(SimpleAspect))
>>        Time:1536ms (jps:#168584) matching against
>>           (execution(* java.lang.CharSequence+.*e*(..)) &&
>>        persingleton(SimpleAspect))
>>        Time:4ms (jps:#662) matching against
>>           (within(*p*) && persingleton(SimpleAspect))
>>
>>        Post is here:
>>
>>  http://andrewclement.blogspot.com/2009/11/aspectj-profiling-pointcut-matching.html
>>
>>        Please have a read and try it out.  Based on the results of it
>>        I've
>>        changed a few key algorithms internal to AspectJ.  What difference
>>        does it make? Well just to wet your appetite:
>>
>>        Aspect:
>>        aspect SimpleAspect {
>>         before(): execution(* CharSequence+.*e*(..)) {}
>>        }
>>
>>        AspectJ1.6.6:
>>        ajc -timers SimpleAspect.aj -inpath rt.jar -outjar woven.jar
>>        Compiler took 19260ms
>>
>>        AspectJ1.6.7 dev builds:
>>        ajc -timers SimpleAspect.aj -inpath rt.jar -outjar woven.jar
>>        Compiler took 12531ms
>>
>>        I'll put out a second article about matching improvements
>>        shortly.  It
>>        will cover what is faster (and why it is faster) and how you
>>        can make
>>        sure you benefit from the speed up.
>>
>>        cheers,
>>        Andy
>>        _______________________________________________
>>        aspectj-users mailing list
>>        aspectj-users@xxxxxxxxxxx <mailto:aspectj-users@xxxxxxxxxxx>
>>        https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>>
>>    --    Simone Gianni            CEO Semeru s.r.l.           Apache
>> Committer
>>    http://www.simonegianni.it/
>>
>>
>>    _______________________________________________
>>    aspectj-users mailing list
>>    aspectj-users@xxxxxxxxxxx <mailto:aspectj-users@xxxxxxxxxxx>
>>    https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>>
>>
>> --
>> "Debugging is twice as hard as writing the code in the first place.
>> Therefore, if you write the code as cleverly as possible, you are, by
>> definition, not smart enough to debug it." - Brian W. Kernighan
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top