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


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

Re: Good Fowler article on ORM

Path csiph.com!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail
From Jan Burse <janburse@fastmail.fm>
Newsgroups comp.lang.java.programmer
Subject Re: Good Fowler article on ORM
Date Sat, 12 May 2012 12:01:03 +0200
Organization albasani.net
Lines 45
Message-ID <jolcd0$3g7$1@news.albasani.net> (permalink)
References <kDXqr.1107$FL3.615@newsfe11.iad> <vokoq7t9vj5cf68rk9ricd63meejh8r3rk@4ax.com> <joihae$oiv$1@news.albasani.net> <jokg12$jce$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net RKgOjqbzrG5qjIo54N3MRT/zJOGO7iPWT71AP8dBBEgtlH61Aizw2VRjJ4XUuz+vuPYQoLFvD5uvoNVhPtODQxiBpPsxHzHLi+z/JPmI9P0Oge7IF+wcOOgURAlmynEq
NNTP-Posting-Date Sat, 12 May 2012 10:01:04 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="iXZyIdyP10dESXKGaMkuqJA/yL/dCWCSMLZvLRfRJVF7nzBFAr55V7X9QeSZrDO//Z7Ordl9T4N8uJsQKUFjCjuURL7e/BQSA5XWL915BIjQrKgn3/GJsduUYPfKVyUl"; mail-complaints-to="abuse@albasani.net"
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:12.0) Gecko/20120429 Firefox/12.0 SeaMonkey/2.9.1
In-Reply-To <jokg12$jce$1@dont-email.me>
Cancel-Lock sha1:qc0JDLezeC+wir51TNpCj/w9KYc=
Xref csiph.com comp.lang.java.programmer:14484

Show key headers only | View raw


David Lamb schrieb:
> On 11/05/2012 4:06 AM, Jan Burse wrote:
>> I also went for a custom implementation of some of
>> the Collection classes, to have the algorithms not
>> use iterators, but inline loops for speed. Isn't
>> possible with the existing classes since one cannot
>> access the fields.
>
> Isn't that the sort of optimization a JIT compiler
> is supposed to be able to do?

This would be a very very good JIT compiler. Since the
issues is not simply inlining setters/getters.

The issue is that there are at first hand no setter/getters.
For example the table field of a HashMap is private.

And then an iterator implies creating a new stateful object.
Take for example the following trivial iteration without
an iterator over a HashMap:

   for (int i = 0; i<table.length; i++) {
       Entry e = table[i];
       while (e!=null) {
           /* do something */
       }
   }

When doing the above iteration with an iterator, the iterator
must keep i and e as a state, typically on the heap. Without
an iterator i and e can be registers.

Maybe some JITs are able to eliminate the heap allocation,
there is a further issues. The above loop does not do
modification checks. Which is valid in my application scenario.

So this is the second reason to inline the loops manually
for speed, less functionality is needed.

Of course one looses encapsulation of iterators. So it only
works a for a particular implementation of a HashMap, and
polymorphism is not anymore supported.

Bye

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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