Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga Subject: Re: General question about relative speeds of A2000 and A3000. Message-ID: <13252@cbmvax.commodore.com> Date: 17 Jul 90 18:40:20 GMT References: <1077@orange9.qtp.ufl.edu> Reply-To: daveh@cbmvax (Dave Haynie) Distribution: na Organization: Commodore, West Chester, PA Lines: 69 In article <1077@orange9.qtp.ufl.edu> sutherla@qtp.ufl.edu (Scott Sutherland) writes: >Thus, even without a math processor, IN THEORY, the A3000 should be 7 times >faster than the A2000. Now, when I purchased an AT&T PC6300 in 1985, I got >an 8 MHz 8087 with it. I was told and had read that the speed increases for >math intensive programs with this chip would be from 10 to 50 times. You have several valid questions here, though it might just look like one. The 68882 can indeed speed up your floating point math by a factor of 50 or so, under the proper conditions. However, these conditions don't alway exist. For example: - What is the component of floating point math in the operation at hand? A program may seem mostly floating point bound on a slower 68000 machine, but may turn out to have a large integer component once you speed up that math so much. - What math routines is your application calling? Most program use math libraries, rather than FPU op-codes. That'll slow things down right away. Compilers can do a much better job with floating point math if they get to use the FPU instructions and registers than they can calling math library routines. Programs that use the IEEE math libraries will take advantage of an FPU in the machine, but there's still an non-trivial function call overhead, and the lack of floating point registers, to contend with. Programs that normally call the Motorola FFP libraries (quite a few of them, since these are faster than the IEEE libraries, currently, if you're only concerned with 32 bit floating point) don't get any boost from the FPU (though there is supposedly a PD replacement for the mathtrans.library that'll convert FFP to IEEE format, perform the operation with the FPU, and then convert back). If speed is really critical, you want to use a program that is compiled/written specifically with the FPU in mind (which of course won't run on a 68000 machine). >So, IN TOTAL, with the processor being 7 times faster and the math chip >being 10-50 times faster, RAY TRACING programs should run between 70 and >350 times faster on an A3000 than on an A2000, ASSUMING THAT >THE CPU AND MATH PROCESSOR SPEED INCREASES OVER THE 2000 ARE >MULTIPLICATIVE. Don't count on that. If your program is 1/2 Integer, 1/2 FP, and you get roughly a 10x integer speedup, roughly a 50x math speedup, the program is at best going to run about 10x faster -- the best the FPU can do for you is eliminate the FP component. In any case, you have to watch FPU claims pretty carefully. On some systems, math is real slow without an FPU, as the OS traps any FPU instructions. So in such cases, they can certainly claim a math chip may speed things up by a factor of 50 or 100, but they're not telling you that the math you get without the FPU is crippled. > So I ask you, why are these math intensive programs only showing >a 5-10 times speed increase on a 3000 (or 2630, CSA, Hurricane, etc.) over >a stock A2000? Please let me reiterate that this is NOT a complaint of >the speed of accelerated Amigas, but a point of naive curiosity. Quite a few of the programs out there set up to directly use the FPU will give you much more than a 5-10x speedup over the non-FPU versions. But like I said before, you really have to know just how much of your problem is really FPU-based. Many ray-tracers tend to be heavily FPU bound, but the editors, previewers, etc. that go with them are often all or mostly integer bound. >Scott Sutherland -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy "I have been given the freedom to do as I see fit" -REM