Hi Andrew, I'm eager to see how this effects building the projects I am working on. Could you please announce here when a new AJDT build with AspectJ 1.6.7 will be available on the update site?
Thanks, Thomas -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Andy Clement Sent: Tuesday, November 10, 2009 11:12 PM To: [email protected]; AspectJ developer discussions Subject: [aspectj-users] AspectJ 1.6.7 - faster than ever. 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 [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
