Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!sharkey!cfctech!teemc!ka3ovk!drilex!axiom!linus!bs From: bs@linus.UUCP (Robert D. Silverman) Newsgroups: comp.arch Subject: Re: Integer/Multiply/Divide on Sparc Message-ID: <85593@linus.UUCP> Date: 5 Jan 90 13:00:47 GMT References: <158@csinc.UUCP> <787@stat.fsu.edu> <42701@lll-winken.LLNL.GOV> <788@stat.fsu.edu> <42737@lll-winken.LLNL.GOV> <5842@ncar.ucar.edu> <34058@mips.mips.COM> <28594@amdcad.AMD.COM> Reply-To: bs@gauss.UUCP (Robert D. Silverman) Organization: The MITRE Corporation, Bedford MA Lines: 46 In article <28594@amdcad.AMD.COM> tim@amd.com (Tim Olson) writes: :In article <34058@mips.mips.COM> mash@mips.COM (John Mashey) writes: :| I'm always nervous about micro-level benchmarks. Now, I hate to have :| to defend SPARC :-), but I must: realistic integer benchmarks :| that I know [like the SPEC ones] simply don't correlate with :| the results claimed below, at least not very much. :| The RISC machines are noticably faster on actual integer programs.... : :The benchmarks over-emphasize integer modulus. For example, the Huh? I don't see multiple modulus operations in the loop below. I see ONE. How can one modulus operation inside a loop "over-emphasize" integer modulus? :benchmark that reportedly tests register-integer variables looks like: : :/* benchreg - benchmark for register integers Some code deleted. It contains a loop with perhaps 20 arithmetic operations inside it. Only 1 involves division (and/or remainder). Here's the loop contents: : for (c = 1; c <= 40; ++c) : { : a = a + b + c; : b = a >> 1; : a = b % 10; : m[a] = a; : b = m[a] - b - c; : a = b == c; : b = a | c; : a = !b; : b = a + c; : a = b > c; : } :and spends roughly 75% of its time performing the "%" operation. This is exactly my point! The fact that one operation takes 75% of the run time for a loop with about 20 operations indicates how badly SPARC does division. Most programs may not do a lot of division, but when a program DOES require it, the performance of the SPARC is a joke. -- Bob Silverman #include Internet: bs@linus.mitre.org; UUCP: {decvax,philabs}!linus!bs Mitre Corporation, Bedford, MA 01730