karl@sugar.UUCP (Karl Lehenbauer) (06/25/88)
[...a Seat Of Pants benchmark... -karl] The benchmark: Time to do a 13-bit compress of all the conquer shars, 423474 bytes in 8 files (one file was truncated) Machine 1: Everex 8 MHz 286 AT clone w/5 MB of 0-wait memory Microport System V/AT Miniscribe 72 MB disk, pretty high fragmentation Machine 2: Mylex 16 MHz 386 AT clone w/4 MB of RAM and 64 kb cache (cache hits = 0 wait states, misses = 3, all writes = 2) Bell Technologies Unix System V/386 Miniscribe 72 MB disk, low fragmentation Results: real user system 8 MHz 286 2:24 111.8 4.5 16 Mhz 386 0:16 8.87 1.77 Notes: The Bell Tech Unix is the generic ISC version. I would expect nearly identical performance from the other 386 Unix "versions." I ran it twice and also made sure the files weren't in the disk cache before starting. It is somewhat surprising to me that the 386 would outperform the 286 by a greater than 10-to-1 margin. I would expect 3-to-1 from the clock and bus width differences. I attribute the rest of the difference to the much nicer instruction set provided by the 386 in native mode (more registers and it's much more orthogonal) and the reduced overhead of not having to manipulate segment registers. Unix System V/386 implements demand paged virtual memory. Pity that OS/2 will always use this chip in it's 85% brain-dead '286 emulation mode. -- -- uunet!sugar!karl
mrspock@hubcap.UUCP (Steve Benz) (06/25/88)
From article <2173@sugar.UUCP>, by karl@sugar.UUCP (Karl Lehenbauer): > It is somewhat surprising to me that the 386 would outperform the 286 > by a greater than 10-to-1 margin. I would expect 3-to-1 from the clock > and bus width differences. I attribute the rest of the difference to > the much nicer instruction set provided by the 386 in native mode > (more registers and it's much more orthogonal) and the reduced overhead > of not having to manipulate segment registers. I'd say it has alot to do with 32-bit pointer manipulations. It takes in many cases 6 instructions just to *copy* one pointer to another -- I wouldn't even want to think about how many cycles are involved in such an operation. On the 386 it's two instructions for (I think, but I could be wrong) all cases of 32bit-32bit moves. (At least all the cases that pcc will generate.) You wouldn't do so well if you were comparing a 286 program in small model to a 386 program. > -- uunet!sugar!karl - Steve Benz