You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hivemind.apache.org by "Sikha, Naresh" <Na...@schwab.com> on 2004/05/19 23:12:55 UTC
Bytecode engineer versus dynamic proxy
Hivemind users,
Are there any hard number comparisons of bytecode engineer versus dynamic
proxy? The reason I ask is that I've written a Hivemind factory that
bytecode engineers a proxy for an interface as a proof of concept and am
comparing it to a dynamic proxy version based on an invocation framework
that I previously developed and I wanted to get confirmation on the numbers
I'm seeing.
For 10000 method invocations (the method logic performs a lot of business
functions - its not just stub code):
Run Bytecode Engineered Dynamic Proxy Percentage
1 1415 1596 88.66%
2 743 853 87.10%
3 753 844 89.22%
Which is roughly a 11% performance difference (on IBM JDK 1.4.1/Windows XP).
I had hoped for a more compelling difference to make the case for moving
beyond a proof of concept a bit stronger.
Thanks.
Naresh Sikha
Senior Staff, Technology Solutions
Charles Schwab & Co., Inc.
211 Main Street
SF211MN-07-347
San Francisco, CA 94105-1918
W: 415-667-1286
F: 415-667-9397
E: naresh.sikha@schwab.com
WARNING: All email sent to this address will be received by the Charles
Schwab & Co., Inc. corporate email system and is subject to archival and
review by someone other than the recipient.
RE: Bytecode engineer versus dynamic proxy
Posted by "Howard M. Lewis Ship" <hl...@comcast.net>.
Two things going on.
One: bytecode enhancement invocations are less expensive in terms of memory ... wrapper objects
don't have to be created.
Second: hotspot may be seeing that there's only one implementation of your interface; it does some
optimizations when that's the case (and undoes them when a new implementation arrives). Oh, you are
using IBM ... might be the same though.
--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
http://howardlewisship.com <http://howardlewisship.com/>
-----Original Message-----
From: Sikha, Naresh [mailto:Naresh.Sikha@schwab.com]
Sent: Wednesday, May 19, 2004 5:13 PM
To: 'hivemind-user@jakarta.apache.org'
Subject: Bytecode engineer versus dynamic proxy
Hivemind users,
Are there any hard number comparisons of bytecode engineer versus dynamic proxy? The reason I ask is
that I've written a Hivemind factory that bytecode engineers a proxy for an interface as a proof of
concept and am comparing it to a dynamic proxy version based on an invocation framework that I
previously developed and I wanted to get confirmation on the numbers I'm seeing.
For 10000 method invocations (the method logic performs a lot of business functions - its not just
stub code):
Run Bytecode Engineered Dynamic Proxy Percentage
1 1415 1596 88.66%
2 743 853 87.10%
3 753 844 89.22%
Which is roughly a 11% performance difference (on IBM JDK 1.4.1/Windows XP).
I had hoped for a more compelling difference to make the case for moving beyond a proof of concept a
bit stronger.
Thanks.
Naresh Sikha
Senior Staff, Technology Solutions
Charles Schwab & Co., Inc.
211 Main Street
SF211MN-07-347
San Francisco, CA 94105-1918
W: 415-667-1286
F: 415-667-9397
E: naresh.sikha@schwab.com
WARNING: All email sent to this address will be received by the Charles Schwab & Co., Inc. corporate
email system and is subject to archival and review by someone other than the recipient.