Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #9085
| Date | 2011-10-22 07:27 +0100 |
|---|---|
| From | Patricia Shanahan <pats@acm.org> |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Getter performance |
| References | (3 earlier) <j7cvqo$tcp$1@news.albasani.net> <j7d0v7$eo5$1@dont-email.me> <KeYnq.9220$wa5.7836@newsfe17.iad> <lfo3a75gk7h46q1csvk6k6jrks9qce80ni@4ax.com> <rqpoq.6270$UK6.64@newsfe06.iad> |
| Message-ID | <pemdnXtu9MKv_z_TnZ2dnUVZ_uadnZ2d@earthlink.com> (permalink) |
Daniel Pitts wrote: > On 10/21/11 2:27 PM, Roedy Green wrote: >> I think you should know without benchmarking each individual case >> which Map or Collection would be best for a given task. > I nearly agree. > > An experienced programmer should know which Map or Collection would work > sufficiently well for a given task. "Best", by some definitions, would > almost always be a custom class (perhaps not even implementing Map or > Collection). The thing is that best may be much better than needed. Also, even between two algorithms, "best" may require a lot of experiments, and be machine dependent. For example, consider binary vs. linear search of a sequential array. Binary search does O(log n) comparisons, but with unpredictable conditional branches leading to a high cost per branch. Linear search does O(n) comparisons, but most of its conditional branches go the same way, making them relatively cheap. They are of about equal coding cost, because Arrays has methods to do binary search, and linear search is extremely simple. For very short arrays I would definitely use linear search. For very large arrays I would definitely use binary search. How about an array length 100? Which is faster? I think either would be "sufficiently good" except in very rare conditions. If I had a program with a performance bottleneck on a search of a length 100 array, I would measure in the context of that program. Patricia
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