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.

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





Back to the top