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.

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> 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
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
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

Back to the top