Hi,

> 1. Is what I'm seeing really correct? Or, is the profiler somehow being
> tricked by aspectj's ITD implementation?

I don't think the profiler can be tricked.  I use YourKit myself.

> 2. Are there known performance overheads for ITD? For example, is ITD
> implemented using some kind of mapping between object/aspect and therefore
> requires a lookup on each method invocation?

I'd need to know more about your setup.  The aim for every language feature
is that it performs close to the performance you would get if you hand
crafted
that feature in Java - if that isn't the case, we should investigate.  Open
a bug with more
information on your setup.  You will find that an ITD may not be implemented
as a
single direct method call, but via a couple of method calls.  But once your
code
has warmed up and the JIT has chewed on it, those should be highly
optimized.
Are you profiling it after a warmup period?

> 3. Assuming people have experienced similar overhead as well, are there
any
> workarounds/best-practices for implementing performant ITD?

I have no open bugs related to performance problems with ITDs...

cheers,
Andy.

2009/3/21 Keith Kowalczykowski <[email protected]>

> Hey Everyone,
>
>    We are using aspectj and ITD to implement some cross-cutting concerns in
> our project. Our implementation consists of ~5 ITD fields + getters for
> those fields. I have recently been profiling the application, and noticed
> that calling these getters takes up a significant amount of time; enough so
> that it shows up as a couple percentage points on the profiler (YourKit).
>
>    Therefore, I have a couple questions regarding the
> implementation/performance of ITD:
>
> 1. Is what I'm seeing really correct? Or, is the profiler somehow being
> tricked by aspectj's ITD implementation?
> 2. Are there known performance overheads for ITD? For example, is ITD
> implemented using some kind of mapping between object/aspect and therefore
> requires a lookup on each method invocation?
> 3. Assuming people have experienced similar overhead as well, are there any
> workarounds/best-practices for implementing performant ITD?
>
>    Thanks in advance,
>                Keith
>
>
> _______________________________________________
> 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

Reply via email to