Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!think.com!paperboy!meissner From: meissner@osf.org (Michael Meissner) Newsgroups: comp.benchmarks Subject: Re: C Cost Model Message-ID: Date: 14 Feb 91 16:26:44 GMT References: <5778@beryl12.UUCP> <2340@travis.csd.harris.com> Sender: news@OSF.ORG Distribution: comp Organization: Open Software Foundation Lines: 29 In-reply-to: bill@hcx2.ssd.csd.harris.com's message of 12 Feb 91 22:31:36 GMT In article <2340@travis.csd.harris.com> bill@hcx2.ssd.csd.harris.com (Bill Leonard) writes: | In article <5778@beryl12.UUCP>, mostek@motcid.UUCP (Frank B. Mostek) writes: | > There is an excellent article ... that supposedly will enable the reader | > to run an experiment on his/her machine which would estimate the cost of | > a given operation to within 25 percent. | | I haven't read the article, but I wouldn't believe it if this is truly what | it says. I know that, on our Motorola M88100-based machines, the cost of a | floating-point divide (for instance) can vary a lot more than 25%. The | M88100 can overlap operations so that the divide can appear to be almost | entirely free, _if_ there is other work to do. Other operations can vary | similarly. While the general point applies, I think you choose a bad example. On the 88k, single precision divides are 30 clocks and double precision divides are 60 clocks. It's hard to keep the machine busy for that many clocks before needing the divide results. In signed integer divides it is worse in that the compiler generally has to account for the signedness of the operands with branches and such, which means if either operand is negative you typically must do a negate directly after the divide, stalling the pipeline. -- Michael Meissner email: meissner@osf.org phone: 617-621-8861 Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142 Considering the flames and intolerance, shouldn't USENET be spelled ABUSENET?