Path: utzoo!mnetor!uunet!husc6!mailrus!umix!rutgers!mcnc!duke!gleicher From: gleicher@duke.cs.duke.edu (Michael Gleicher) Newsgroups: comp.sys.mac.programmer Subject: Is my Mac II really slow? Message-ID: <11541@duke.cs.duke.edu> Date: 11 Apr 88 00:51:59 GMT Organization: Duke University CS Dept.; Durham, NC Lines: 60 Keywords: Mac II, floating point, benchmarks Is my Mac II a dog? It is really 1/13th as fast as a MicroVax II (which is a slow machine - much slower than say a Sun 3/60)? Please look at what I've done and tell me what I've been doing wrong, and how I can get some decent performance out of what I thought was a blazing fast machine. I'd imagine something stupid and silly is going on like I'm not using the floating point accelerator (68881) or that some processor time is being eaten up on nonsense like updating the cursor. The benchmark program I have is a simple ray tracing program. For the tests of interest, all I/O is removed. It is a sheer test of double precision floating point performance as it uses little memory. I've tried LSC 2.15 and MPW. On MPW I had to use "extended" numbers otherwise performance was unbearable. The machine is a stock Mac II with 5 Meg. In the chart MPW was used under Finder. LSC under multifinder gave very similiar results (+-10%). Here are the numbers: Ray Tracing Times Machine No I/O File I/O user elapsed user elapsed Vax8600 6.63 7 13.017 15 MV20000 7.95 4 ???? 21.183 14 ?? uVax II 33.75 35 104.3 107 Mac II(a) 474.1 (a) compiler = MPW, extended used instead of double as it is faster all trails were run on lightly loaded machines 8600 = duke MV/20000 = dukee uVaxII = elmer Something is definately wrong. The code required NO changes to move from the Mac to the Vax (when developed with LSC). I will give the code to anyone who wants to look at it. It's only about 300 lines long. If someone could tell me how to use the 68881 and put some assembly into my Mac program, or tell MPW to write native code 68881 and use 68020 instructions (I'm sure there must be a compiler option to do this, but "Help C" only mentions 68010 Could it be our MPW is old?). An assembly function that would take the place of the C function: extended dot(x1,y1,z1,x2,y2,z2) { return(x1*x2+y1*y2+z1*z2);} would be enough of an example so I could figure the rest out. Thanks for help. I'm sure I'm just doing something stupid. Thanks, Mike Michael Lee Gleicher (-: If it looks like I'm wandering Duke University (-: around like I'm lost . . . E-Mail: gleicher@cs.duke.edu)(or uucp (-: Or P.O.B. 5899 D.S., Durham, NC 27706 (-: It's because I am!