Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] FW: [aspectj-users] Using AOP to implement double dispatching technique

Btw, I just replied to this.  A straightforward
AOP implementation is faster.  Perhaps I'm misunderstanding
the problem.

Wes

Adrian Colyer wrote:

Mik and I did some decompiling of inter-type declarations tonight. For the example we looked at, the generated code for a declare implements had the same structure as a straight inter-type declaration. Inter-type declarations are not directly inlined, but follow a structure that adds two addtional method calls into the chain. However, I would expect a JIT to inline the code so that the performance numbers should be much closer. We will ask one of the performance team to look at this tomorrow.

I'm sure Jim will have a much deeper insight on this...

-- Adrian
Adrian_Colyer@xxxxxxxxxx




"Gregor Kiczales" <gregor@xxxxxxxxx>
Sent by: aspectj-dev-admin@xxxxxxxxxxx
14/07/2003 18:59
Please respond to aspectj-dev
To: <aspectj-dev@xxxxxxxxxxx> cc: Subject: [aspectj-dev] FW: [aspectj-users] Using AOP to implement double dispatching technique


this thread contains some performance numbers that make AspectJ look bad

anyone already know what's going on here?  If so, and you don't have time
for a long message, send me a note and I'll write it up.

But one way or another we should reply, before this 10x AspectJ performance
hit becomes an "established fact".

-----Original Message-----
From: aspectj-users-admin@xxxxxxxxxxx [mailto:aspectj-users-admin@xxxxxxxxxxx] On Behalf Of Vankeirsbilck, Rudi. (BE - Merelbeke)
Sent: Thursday, July 10, 2003 7:14 AM
To: aspectj-users@xxxxxxxxxxx
Subject: RE: [aspectj-users] Using AOP to implement double dispatching technique


It is the result of the "introduction"-code.
You say that the introductions are really "inserted", are you sure that
ajc does not wrap them with other infrastructural code? That could
explain the difference in performance.

After applying the redesign to introduce an interface Screen performance
has decreased again:
Testing display of points using immediate method dispatching:70
Testing display of points using double dispatching:230
Testing display of graphical elements using instanceof and casting:230
Testing display of graphical elements using AOP:621

Therefor, I am really convinced that ajc does some wrapping somewhere.
Decompiling the code confirms this. There are a number of (static
however) methods that wrap around the calls.

Rudi.

-----Original Message-----
From: Stefan Hanenberg [mailto:shanenbe@xxxxxxxxxxxxxxxxxxxxxxx] Sent: donderdag 10 juli 2003 15:47
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] Using AOP to implement double dispatching
technique



Testing display of points using immediate method dispatching:70 Testing display of points using double dispatching:240 Testing display


of graphical elements using instanceof and casting:250 Testing display


of graphical elements using AOP:351


just a question:

Is this measurement the result of the "around"- or the
"introduction"-code?

From my point of view the introduction code's performance cannot distinguish from the double-dispatch, because it is exactly the same code (introductions are really just "inserted").

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-users
This message (including any attachments) contains confidential
information intended for a specific individual and purpose, and is
protected by law.  If you are not the intended recipient, you should
delete this message.  Any disclosure, copying, or distribution of this
message, or the taking of any action based on it, is strictly
prohibited.


-----------------------------------------------------------------------


This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.


_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-dev





Back to the top