[comp.sys.ibm.pc.hardware] 386 Boxes - extensive Benchmark results

tjr@cbnewsc.att.com (thomas.j.roberts) (03/02/91)

Here are the results of my "Great 386 PC Hunt". I went to a dozen
suburban Chicago computer stores, and ran a benchmark on every 386
box I could find (and a few others).

	Two stores clearly stand out as superior to the others:
	Soft Warehouse in Schaumburg, and Elek-Tek in Willowbrook.
	They both have large selections on computers and accessories,
	and have competetive prices (comparable to mail-order).

Interestingly, there is a 20 MHz 80386SX which outperforms a 33 MHz
80386 on this particular benchmark. You cannot determine the performance
of a system from merely its processor and clock speed. Also, cost DOES
NOT correlate well with performance (if anything, the correlation is
NEGATIVE, but that is primarily due to IBM machines).
Note that cost and performance are NOT the only relevant criteria in
choosing a computer! Quality and reliability are also important, and
future upgrade-ability is also a consideration, as are size and appearance.

Note that benchmarking is VERY application specific. I made a benchmark
out of the real-time bottleneck in my music application. This benchmark
is of considerable interest to me, but it may have only moderate correlation
with the performance parameters of interest to you. Caveat Emptor.


The benchmark times 100,000 calls of the real-time interrupt of my
music synthesizer (converted to a subroutine, I/O removed). 
It was run 3 times on each computer, with 0, 10, and 30
notes active. Note that if you rank the machines by their 0-note
times, and then by their 30-note times, some differences will
appear. Benchmarking is VERY application specific! I have been
using the 30-note times for comparison.

For each machine, the location is given in parentheses; if you are
not in suburban Chicago this will mean little (and also if you do
not know who Jerry and my Mom are!, etc.).

For 386 boxes, the type is the clock speed; for others it is the
type of processor (8086 = 8 MHz, V30 = 8 MHz, 286 = 16 MHz,
486 = 25 MHz; SX16 = 80386SX 16 MHz, SX20 = 80386SX 20 MHz).

                                                      Elapsed Time (Sec.)
 #  Type  Description                                     0    10    30
--- ----  -----------                                 ------------------
1   8086  AT&T PC6300 (Jerry's)                       145.4   171   222
2   8086  AT&T PC6300 (Mom's)                         104.1 130.3 182.7
3   V30   AT&T PC6300/V30 (Home)                      100.6 121.8 164.4
4   286   AT&T 6286 WGS (Ken's)                        52.4  61.4  79.2
5   SX16  sysdyne 386sx-5 (Computerland Naperville)    42.8  49.5  63.1
6   SX16  AST Premium 386SX/16 (Micro City)              32    37  48.3
7   SX16  NEC PowerMate SX Plus (Micro City)           49.2  55.5  68.4
8   SX16  AT&T 6386/SX WGS (my desk)                   35.5  42.2  55.6
9   SX16  AT&T 6386SX/EL WGS (Mike's)                  43.8  51.4  66.7
10  SX16  IBM 55SX PS/2 (Computerland Naperville)      64.6  71.7    86
11  SX16  Packard Bell FORCE 386X (Farnsworth)         42.4  49.1  62.4
12  SX16  Hyundai super-386SE (Farnsworth)             48.9  57.2  73.7
13  SX16  Magnavox HeadStart 500 (Soft Warehouse)      39.3  46.8  61.6
14  SX16  HP Vectra QS/16S (Elek-Tek)                  31.6  37.7  51.3
15  SX20  AST Premium II 386SX/20 (Elek-Tek)           25.7  29.6  37.6
16  20    IBM PS/2 model 70 386 (Elek-Tek)             27.1  31.6  40.4
17  20    Hyundai Super-386C (Farnsworth)              28.1  32.9  42.5
18  20    AT&T 6386 WGS (Library)                      33.3  39.1  50.5
19  20    Compaq 386/20e (Micro City Naperville)       20.3  23.7  30.4
20  25    Dell 325D (Soft Warehouse)                     17  19.8  24.9
21  25    CompuAdd 325 (CompuAdd Superstore OakBrook)  34.8  37.5    43
22  25    NEC Powermate 386/25 (Micro City Naperville) 25.1    28  33.2
23  25    Compudyne 25/386C (Soft Warehouse)           16.6  19.2  24.5
24  25    DOSTECH 386 (DosTech)                        24.9  28.3  35.3
25  25    CPI 386-25 (Computer Needs Lisle)            19.1  23.2  31.2
26  25    DTK 386-25 (PC Warehouse Naperville)         19.6  23.3  30.7
27  25    MicroStar 386-25CA (MicroStar Downers Grove) 18.1  20.8  25.9
28  25    HP Vectra 386/25 (Elek-Tek)                  16.6  19.3  24.8
29  33    AT&T 6386E/33 WGS Tower (Product Center)     14.7  16.8  20.7
30  33    compuadd 333t (CompuAdd Superstore OakBrook) 38.4  40.5  44.5
31  33    Packard Bell FORCE 386/33 (Farnsworth)       14.8  16.7  20.8
32  33    ALR Business Veisa (Soft Warehouse)          22.5  27.1  36.1
33  33    Packard Bell Force 386/33 (Elek-Tek)         14.3  16.5  20.5
34  486   ALR 486 (Soft Warehouse)                      8.2   9.4  11.8
35  486   MicroStar 486 (MicroStar Downers Grove)       7.9   9.1  11.4

Throughout this effort I checked for viruses on my diskettes at every
store (McAlfee's pro-scan). I found none. No machines refused to
run my benchmark or gave abnormal results, except:

	A Packard-Bell Force 386/33 refused to read my 3.5" diskette,
	but worked fine on my 5.25" diskette; other machines used the
	3.5" diskette afterward without trouble; no viruses found.

	An Epson Equity 386/25 had great difficulty in booting, and
	fell back to 8 MHz. It ran the benchmark at 8 MHz, but the
	results were so out of range that I omitted them.

I also ran a VGA test program on some of these machines; I kept
no records of the results. All displayed it well, with performance
on the 386/386SX/486 boxes equal or better than my 6386/SX WGS machine (#8).
With a magnifying glass you can see the individual colored dots of the
monitor. It is clear that the .25 mm dot-pitch monitors have smaller
and closer dots than the .31 mm monitors; .4 mm monitors are MUCH
fuzzier, and to me are unsuitable.

So - which did I buy? - None, so far. I am still agonizing about the
trade-offs among price, performance, and quality/reliability.
SUGGESTIONS ARE WELCOME!!!


  About the benchmark: the benchmark consists of the real-time
  interrupt from my home-brew music synthesizer, with all I/O
  operations removed. This interrupt normally runs every 2
  milliseconds, and interprets a threaded-code description
  of how to evolve each of 30 notes currently playing on the
  synthesizer hardware. The interrupt was converted to a
  subroutine, and the time for 100,000 calls is recorded.
  The calling code is written in Turbo C++ 1.01, and consists
  of the obvious for() loop with a long counter. The interrupt
  subroutine is 8086 assembly, highly optimized for speed on
  an 8 MHz V30 (# 3 on the list above). It can handle up to 30
  notes simultaneously. There is no loop in the code - each
  channel of the hardware is represented by a struct which
  contains the address of the routine to express its sound;
  after completion it merely increments the pointer and
  jmp-s to the next-channel's routine. There is a dummy 31-st
  instrument whose routine dismisses the interrupt (in the
  benchmark it is the subroutine return). Note that there
  are always 30 channels (plus the dummy 31st), and that
  silent channels execute 2 instructions (add di,cx; jmp [di].addr)
	That is, if all 30 channels are silent, the first 30
	[di].addr-s will point to the above 2-instructions;
	the 31st will point to the subroutine return code.
  In the real synthesizer, most active channels spend most of their
  time waiting; in the benchmark, active channels execute an
  opcode every 2ms interrupt (this is determined by the way the
  instrument is defined). Running the benchmark 10 times on my
  computer at work (# 8 above) consistently gave results within 
  +-0.1 second. Note that an elapsed time of 200 seconds means
  that the real-time interrupt would eat up 100% of the available
  CPU (actually more, since I removed the I/O operations).

Tom Roberts
att!ihlpl!tjrob   TJROB@IHLPL.ATT.COM