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


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