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
