Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Best practices in optimization

I was also thinking that new metrics Andy added to the replacement jars for Thomas could be left there, eventually with a switch for activating them, and proper explanations written somewhere to interpret that output. For example :

fastShadowMatching
This indicates how much time the weaver is spending in fast-matching. Fast matching is an optimized matching algorithm that takes into account more specific point cuts before generic ones, so that it can determine faster if a given method in a given class matches or not. If you see that a small amount of time is spent into this cycle in respect to total build time, then probably your point cuts are very generic and could be scoped better. In this case scoping at class level is what is needed. Some ways to scope your point cuts so that fast matching can be used are :

- Include a within(Type) along execute() pointcuts.
execute() is by definition generic. In fact, execute(public void MyType.setSomething(int)) includes also execution of setSomething in every subclass of MyType. If you intend to only match execution of setSomething in MyType and not also in subclasses you can add within(MyType).
- what else?


Also, adding a "performance XLint" option(s), disabled by default, could be a useful tool to see if/where the weaver is having performance problems, like for example being unable to use fast matching, or other places where possible optimizations are not engaged because of programmer's inexperience.

Just my 2 cents.

Simone


Simone Gianni wrote:
Ciao Bepi,
yes, I also agree that such instructions are needed. I also have some very long build times.

Simone

Bepi Esposito Vingiano wrote:
Hi to all.
I've followed the 'Overall problem with AJDT performance' thread with interest but.
I'm working on a big project and trying to use aspectj and AJDT.
It would be very useful to have a 'guide to optimization' for building inside Eclipse with all the settings to make the build process better (in terms of time spent).
I have times of 3-4 minutes when building the project.
Ciao
------------------------------------------------------------------------

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



Back to the top