Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8837

Re: Getter performance

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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