From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Charles Hixson Subject: Re: Software landmines (loops) Date: 1998/09/05 Message-ID: <35F231C7.35AA38DF@earthlink.net>#1/1 X-Deja-AN: 388347436 Content-Transfer-Encoding: 7bit References: <6sbuod$fra$1@hirame.wwa.com> <904556531.666222@miso.it.uq.edu.au> <35EAEC47.164424A7@s054.aone.net.au> <35EBBFAF.DE38C061@s054.aone.net.au> <35EC28BD.351F33DF@s054.aone.net.au> <35EED7D3.3CFDA8A4@iname.com> <35F0A288.F0AF78C2@earthlink.net> X-Posted-Path-Was: not-for-mail Content-Type: text/plain; charset=us-ascii X-ELN-Date: Sat Sep 5 23:52:53 1998 Organization: Mandala Fluteworks Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-05T00:00:00+00:00 List-Id: Well, that was intended more as an example of environmental change. Put more abstractly, code should be written to optimize the implementation of the algorithm. The execution environment WILL change. The compiler implemented for the new environment should optimize the code to run in the environment that it is designed to operate in itself. I realize that a) this is a bit optimistic, and b) there are lots of optimizations that the compiler can't do, because it doesn't understand the purpose of the code but (e.g.): IF queries were guaranteed not to change the state of the object being queried AND there was a method of aborting a query in progress, THEN in certain circumstances code could be executed in parallel without even the overhead of threads. My real question then, I guess, becomes: Is it reasonable to insist that queries not cause any permanent changes to the state of the system, other than returning a value? If you do insist upon this, what about commands that exist within the queries? Is it feasible to even think about enforcing this requirement? I suppose a second question would be: Can queries really be executed in parallel with less overhead than spinning off a thread? Patrick Logan wrote: > > In comp.object Charles Hixson wrote: > > : Of course this is only part of it, but I think that changes in the > : algorithm that scale linearly are generally overwhelmed by differences > : between compiler implementations, and also that the best code for this > : year may not be the best code for next year. > > I have read a little bit on Comp.arch over the last six months or so > about how the hard core algorithm/performance people are finding > significant differences in performance by paying attention to memory > hierarchies, level 2 caches, etc. Some of these folks describe the > best results come from treating the L2 and the CPU as an old, limited > RAM computer. In this case, going to the off chip RAM is like going to > core memory in "olden days". > > -- > Patrick Logan (H) mailto:plogan@teleport.com > (W) mailto:patrickl@gemstone.com > http://www.gemstone.com