Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #14493
| From | Jan Burse <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Good Fowler article on ORM |
| Date | 2012-05-12 21:53 +0200 |
| Organization | albasani.net |
| Message-ID | <jomf41$ef9$1@news.albasani.net> (permalink) |
| References | (3 earlier) <jokg12$jce$1@dont-email.me> <jolcd0$3g7$1@news.albasani.net> <joldlk$gv7$1@dont-email.me> <jolgn9$chj$1@news.albasani.net> <jomcmv$9l6$1@news.albasani.net> |
Lew schrieb:
> I don't think I get your last paragraph here. What pain? What additional
> classes? Why?
The discussion was about some custom HashMap, call this
class XXX. If one does use inline loops such as:
for (int i = 0; i<table.length; i++) {
Entry e = table[i];
while (e!=null) {
/* do something */
}
}
The one does not need to defined an interator for the
custom HashMap, call this iterator class YYY.
These iterators which implement the interface Iterator
(or Enumerator) are usually not much visible Java collection
classes, since they are realized as inner classes.
But they add to the LOCs and the number of classes:
With Iterator Without Iterator
XXX N + K LOCs N LOCs
YYY M LOCs
Total N + K + M N
K is for the iterator factories inside the collection
class. Pain = N + K + M - N = K + M.
Since nobody would use class YYY anyway, since XXX
is anyway internal to the whole multi-indexing
framework and not visible by the client of the framework,
its not only a pain but also not a necessity.
> I'm willing to lay odds that for your use cases
> the difference made by accessors and mutators is
> not the low-hanging fruit.
For gambling you can go to Las Vegas, or if you
are up to something more serious, you could educate
yourself.
First of all originally Android didn't have a JIT.
See for example:
http://www.youtube.com/watch?v=ptjedOZEXPM
There might still be devices around without a JIT.
Second for my setter/getter claim you might want
to read this page:
http://developer.android.com/guide/practices/design/performance.html
There is a section about Avoid Internal Getters/Setters.
I copy the essential part for your eyes here:
"In native languages like C++ it's common practice to use getters (e.g.
i = getCount()) instead of accessing the field directly (i = mCount).
This is an excellent habit for C++, because the compiler can usually
inline the access, and if you need to restrict or debug field access you
can add the code at any time.
On Android, this is a bad idea. Virtual method calls are expensive, much
more so than instance field lookups. It's reasonable to follow common
object-oriented programming practices and have getters and setters in
the public interface, but within a class you should always access fields
directly.
Without a JIT, direct field access is about 3x faster than invoking a
trivial getter. With the JIT (where direct field access is as cheap as
accessing a local), direct field access is about 7x faster than invoking
a trivial getter. This is true in Froyo, but will improve in the future
when the JIT inlines getter methods."
Bye
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Good Fowler article on ORM Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-05-10 19:50 -0300
Re: Good Fowler article on ORM Roedy Green <see_website@mindprod.com.invalid> - 2012-05-10 16:52 -0700
Re: Good Fowler article on ORM Arne Vajhøj <arne@vajhoej.dk> - 2012-05-10 20:10 -0400
Re: Good Fowler article on ORM Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-05-11 01:56 -0500
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-11 10:06 +0200
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-11 10:09 +0200
Re: Good Fowler article on ORM David Lamb <dalamb@cs.queensu.ca> - 2012-05-11 21:56 -0400
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 12:01 +0200
Re: Good Fowler article on ORM David Lamb <dalamb@cs.queensu.ca> - 2012-05-12 06:22 -0400
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 13:14 +0200
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 13:27 +0200
Re: Good Fowler article on ORM markspace <-@.> - 2012-05-12 08:15 -0700
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 18:21 +0200
Re: Good Fowler article on ORM markspace <-@.> - 2012-05-12 10:37 -0700
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-12 12:27 -0700
Re: Dalvik running on the Android device emulator Fredrik Jonson <fredrik@jonson.org> - 2012-05-13 07:21 +0000
Re: Dalvik running on the Android device emulator David Lamb <dalamb@cs.queensu.ca> - 2012-05-13 08:18 -0400
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-12 12:12 -0700
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 21:53 +0200
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 21:59 +0200
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-12 13:55 -0700
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-12 13:59 -0700
Re: Good Fowler article on ORM Jan Burse <janburse@fastmail.fm> - 2012-05-12 23:49 +0200
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-12 17:14 -0700
Re: Good Fowler article on ORM jb <janburse@fastmail.fm> - 2012-05-13 02:11 -0700
Re: Good Fowler article on ORM Lew <noone@lewscanon.com> - 2012-05-14 22:25 -0700
Re: Good Fowler article on ORM Arne Vajhøj <arne@vajhoej.dk> - 2012-05-20 22:15 -0400
Re: Good Fowler article on ORM Arne Vajhøj <arne@vajhoej.dk> - 2012-05-10 20:03 -0400
Re: Good Fowler article on ORM Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-05-10 18:40 -0700
Re: Good Fowler article on ORM Arne Vajhøj <arne@vajhoej.dk> - 2012-05-10 21:42 -0400
Re: Good Fowler article on ORM Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-05-13 19:40 -0300
Re: Good Fowler article on ORM markspace <-@.> - 2012-05-10 19:17 -0700
Re: Good Fowler article on ORM Lew <lewbloch@gmail.com> - 2012-05-10 16:41 -0700
Re: Good Fowler article on ORM Robert Klemme <shortcutter@googlemail.com> - 2012-05-12 14:33 -0700
csiph-web