|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
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 aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
RE: AspectJ 1.6.7 - faster than ever.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: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement Sent: Tuesday, November 10, 2009 11:12 PM To: aspectj-users@...; 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 aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
Re: AspectJ 1.6.7 - faster than ever.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@... > 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@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
Re: 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@...> wrote: Great work Andy!!!!!!!! -- "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@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
Re: AspectJ 1.6.7 - faster than ever.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@... > <mailto:simoneg@...>> 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@... <mailto:aspectj-users@...> > 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@... <mailto:aspectj-users@...> > 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@... >https://dev.eclipse.org/mailman/listinfo/aspectj-users > > _______________________________________________ aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
Re: 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@...>: > 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@... >> <mailto:simoneg@...>> 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@... <mailto:aspectj-users@...> >> 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@... <mailto:aspectj-users@...> >> 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@... >> https://dev.eclipse.org/mailman/listinfo/aspectj-users >> > > > > _______________________________________________ > aspectj-users mailing list > aspectj-users@... > https://dev.eclipse.org/mailman/listinfo/aspectj-users > aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
RE: AspectJ 1.6.7 - faster than ever.Hi,
I just noticed that there are no scheduled dev builds for the 3.4 stream. Does that mean you don't plan to continue the support for 3.4? That would be pretty sad and actually a problem for those who are using IDEs based on 3.4 like Rational Software Architect or Rational Application Developer as they are based on 3.4. I would be like to try out the performance improvements coming with AspectJ 1.6.7 in RSA. Is there any way you could build a dev build for 3.4 or is the code imcompatible now? Thanks, Thomas -----Original Message----- From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Thomas Hofmann Sent: Wednesday, November 11, 2009 8:38 AM To: aspectj-users@... Subject: RE: [aspectj-users] AspectJ 1.6.7 - faster than ever. 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: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement Sent: Tuesday, November 10, 2009 11:12 PM To: aspectj-users@...; 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 aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
Re: AspectJ 1.6.7 - faster than ever.The plan is to not release a 2.0.2 for 3.4, but we expect to put out
dev builds for 3.4 on an as-needed/as-requested basis. I will try to get a 3.4 build out this week. On Mon, Nov 16, 2009 at 8:04 AM, Thomas Hofmann <email@...> wrote: > Hi, > > I just noticed that there are no scheduled dev builds for the 3.4 stream. Does that mean you don't plan to continue the support for 3.4? > > That would be pretty sad and actually a problem for those who are using IDEs based on 3.4 like Rational Software Architect or Rational Application Developer as they are based on 3.4. > > I would be like to try out the performance improvements coming with AspectJ 1.6.7 in RSA. Is there any way you could build a dev build for 3.4 or is the code imcompatible now? > > Thanks, > > Thomas > > -----Original Message----- > From: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Thomas Hofmann > Sent: Wednesday, November 11, 2009 8:38 AM > To: aspectj-users@... > Subject: RE: [aspectj-users] AspectJ 1.6.7 - faster than ever. > > 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: aspectj-users-bounces@... [mailto:aspectj-users-bounces@...] On Behalf Of Andy Clement > Sent: Tuesday, November 10, 2009 11:12 PM > To: aspectj-users@...; 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 > aspectj-users@... > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ > aspectj-users mailing list > aspectj-users@... > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ > aspectj-users mailing list > aspectj-users@... > https://dev.eclipse.org/mailman/listinfo/aspectj-users > aspectj-users mailing list aspectj-users@... https://dev.eclipse.org/mailman/listinfo/aspectj-users |
|
|
|
| Free embeddable forum powered by Nabble | Forum Help |