Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8837
| From | BGB <cr88192@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Getter performance |
| Date | 2011-10-15 15:00 -0700 |
| Organization | albasani.net |
| Message-ID | <j7cvqo$tcp$1@news.albasani.net> (permalink) |
| References | <4e99f537$0$623$426a74cc@news.free.fr> <4e99fcdf$0$295$14726298@news.sunsite.dk> <4e99fe53$0$281$14726298@news.sunsite.dk> |
On 10/15/2011 2:42 PM, Arne Vajhøj wrote: > On 10/15/2011 5:36 PM, Arne Vajhøj wrote: >> On 10/15/2011 5:03 PM, Aéris wrote: >>> I work on an application where performances are important. >>> >>> To optimize it, I thought a direct access to a variable (foo.bar) would >>> be more efficient than a getter call (foo.getBar()). >> >> Wrong approach. Write nice clean code. If it is fast enough then >> fine. If not then measure where the bottleneck is. It seems highly >> unlikely to be in getters. >> >>> I thought by avoiding the call to a method and all that goes with it >>> (context switching, stacking, return value…), I can save time, but this >>> code sample prove the contrary : >>> http://pastebin.com/bP1nqxce >>> Direct variable access : 1041 ms >>> Getter call : 556 ms >>> >>> The difference is even more important if I don't modify the variable >>> value (lines 29 and 36 commented) : >>> Direct variable access : 95 ms >>> Getter call : 4 ms >>> >>> How can we explain this not obvious huge difference ( 50 and 95% ) ? >> >> First thing would be to run a lot more than 100000 times. Such >> small intervals will be very random on a multi tasking OS. > > With 1000000 and -server I get: > > 1763 > 1608 > > which is rather close. > this is an interesting result... I was aware that the JVM optimized getters, but unclear is why they are slightly faster than direct field access, rather than exactly the same speed (or sometimes slightly faster and sometimes slightly slower).
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Getter performance Aéris <aeris@imirhil.fr> - 2011-10-15 23:03 +0200
Re: Getter performance Arne Vajhøj <arne@vajhoej.dk> - 2011-10-15 17:36 -0400
Re: Getter performance Arne Vajhøj <arne@vajhoej.dk> - 2011-10-15 17:42 -0400
Re: Getter performance BGB <cr88192@hotmail.com> - 2011-10-15 15:00 -0700
Re: Getter performance markspace <-@.> - 2011-10-15 15:20 -0700
Re: Getter performance David Lamb <dalamb@cs.queensu.ca> - 2011-10-20 12:45 -0400
Re: Getter performance Roedy Green <see_website@mindprod.com.invalid> - 2011-10-21 14:27 -0700
Re: Getter performance Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-10-21 18:57 -0700
Re: Getter performance Patricia Shanahan <pats@acm.org> - 2011-10-22 07:27 +0100
Re: Getter performance Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-10-22 09:57 -0300
Re: Getter performance Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-10-21 22:12 -0400
Re: Getter performance Aéris <aeris@imirhil.fr> - 2011-10-15 23:59 +0200
Re: Getter performance Arne Vajhøj <arne@vajhoej.dk> - 2011-10-15 19:44 -0400
Re: Getter performance Aéris <aeris@imirhil.fr> - 2011-10-16 13:14 +0200
Re: Getter performance Lars Enderin <lars.enderin@telia.com> - 2011-10-16 16:28 +0200
Re: Getter performance Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-10-16 09:47 -0400
Re: Getter performance Jaap Droogers <JaapDroogers@unusable.meel.homelinux.net> - 2011-10-16 22:12 +0200
Re: Getter performance BGB <cr88192@hotmail.com> - 2011-10-16 13:58 -0700
Re: Getter performance David Lamb <dalamb@cs.queensu.ca> - 2011-10-20 12:51 -0400
Re: Getter performance Paul Cager <paul.cager@googlemail.com> - 2011-10-21 08:49 -0700
Re: Getter performance Roedy Green <see_website@mindprod.com.invalid> - 2011-10-21 08:02 -0700
Re: Getter performance Wanja Gayk <brixomatic@yahoo.com> - 2011-10-22 21:11 +0200
csiph-web