[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] How to explain the fact that some weaved applications run faster than some "non-woven" ones


There could be a number of explanations. Firstly I assume you are not using microbenchmarks (which can be very misleading) but something more substantial and following standard performance measuring protocol by "warming up" the system and taking the average time from a series of runs. Secondly if you are using around advice with conditional proceed then you will reduce the overall pathlength of the application. Also if you have replaced a particular feature with an aspect and that feature can be disabled then it may be possible to avoid unnecessary logic by checking the associated flag earlier. Finally you may avoid classloading by reducing the dependencies between you base code and crosscutting code.


Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)
Email: Matthew Webster/UK/IBM @ IBMGB, matthew_webster@xxxxxxxxxx


Please respond to aspectj-users@xxxxxxxxxxx

Sent by:        aspectj-users-bounces@xxxxxxxxxxx

To:        aspectj-users@xxxxxxxxxxx
Subject:        [aspectj-users] How to explain the fact that some weaved        applications run faster than some "non-woven" ones

Hi all,

I'm working on the extraction of a transversal functionnality of a Java application. After doing that, I'm trying to comapre the execution time of some operation before and after introducing aspects with aspectJ.
In most cases, the "non-woven" operations (in the initial application) run faster than the same operations after being woven. The explication should be the fact that I introduced some new treatements or the use of thisJoinPoint (which is treated in a load time, right?)...
But that I could not explain is the fact that the opposite happens as well! Some operations run faster whit aspects! Any help to interpret this? Why and how something like this could happen?

Thanks in advance.
aspectj-users mailing list