80386sx and Xenix

Michael Borza mike at antel.uucp
Thu Sep 14 00:11:53 AEST 1989

[I expanded the newsgroups to include c.u.i386, since I think this may
be of sufficient interest there-- m.b.]

In article <592 at extro.ucc.su.oz> glenn at extro.ucc.su.oz (G. Geers [ext 3241]) writes:
>Hi Folks,
>	Just a general question as to whether anyone has tried 386 Xenix (or Unix) 
>on a machine based on the 80386sx ? What performance penalty do you suffer as
>I only ask coz they're nice'n cheap.
>Glenn Geers
>Dept. Theoretical Physics
>Uni. of Sydney

I wondered about the same thing for a machine for home.  I borrowed a
386SX machine from my friendly local computer store and compared it
to the machines I use at work, using a couple of typical applications
that I use regularly.  I use 386/ix instead of Xenix, but I expect
the trends in the results in this kind of comparison are similar.

This test is not a formal attempt to benchmark the systems fairly, but
the 'SX machine was basically configured as I would have used it at
home, had I decided to purchase it.  Here's what I found.

The machines:

System 1.  80386SX, 80387SX, 2 MB DRAM on system board, 2 MB DRAM
           on 16-bit expansion bus (1 wait state), Hercules
	   graphics, 30 MB 40 ms disk, WD1006V-SR2 disk controller,
	   ISC 386/ix 2.0.1

System 2.  25 MHz 80386, 25 MHz 80387, 10 MB 32-bit DRAM (no
	   cache), 340 MB 16 ms ESDI disk, WD1007-WA2 ESDI
	   controller, Paradise VGA+/16 graphics,
	   ISC 386/ix 2.0.1

System 3.  20 MHz 80386, 20 MHz 80387, 4 MB 32-bit DRAM (no
	   cache), 90 MB 18 ms ESDI disk, ACB2322 ESDI
	   controller, Paradise VGA+/16 graphics,
	   ISC 386/ix 1.0.6

The benchmarks:

`make flex'   The time it takes to build an executable of Vern
	   Paxson's flex2.1 beta release

`spice'    A floating point intensive, compute-bound FORTRAN
	   application for electonic circuit simulation.

The results:

System:        1        2      3.125*(2)    3      2.5*(3)

make flex
  real     11:36.53  1:55.86    6:02      2:25.30   6:03
  user     10:06.76  1:19.73    4:09      1:17.76   3:14
  sys       0:36.65  0:10.79    0:34      0:13.26   0:33

  real      0:50.17  0:08.29    0:26      0:14.77   0:37
  user      0:43.06  0:06.78    0:21      0:08.23   0:21
  sys       0:01.81  0:00.35    0:01      0:01.34   0:03


1. The multipliers 3.125 and 2.5 are what we would expect the
speed ratios to be if the 386SX had 4 MB of 0 wait-state, 16-bit
      system 2: (25/16) * 2 = 3.125
      system 3: (20/16) * 2 = 2.5
As it was configured, the applications in question were running
about half out of on-board memory and half out of memory on the
8 MHz AT bus and incurring 1 wait state.  Working backwards
indicates that the effective bus speed to memory is about 8 MHz,
which would give approximately the observed values for execution
time differences between the 'SX and the 32 bit systems.  This
should probably serve as a good warning to those of you who'll

2. I tried a number of other applications for subjective "feel".
X-Windows was very slow (intolerable without the 387SX), but the
real kicker was `vi'.  In a normal virtual console, running through
a document a line at a time, the cursor was usually half a page to
a page ahead of the screen.  Since this was one of the (small,
annoying) things that I was trying to get away from on my old AT, 
I decided to forego the 386SX.  For approximately 20% more, I'm
buying a 20 MHz 386 with 387 and 4 MB of interleaved 32-bit memory.
With a VGA adapter and monochrome VGA monitor, the whole thing,
including a 25 ms 40 MB disk, comes in for around $CDN 4000.
Now that RAM prices are starting to reflect reality again, I see
very little reason to settle for a 386SX system.

3. I really can't explain why my 20 MHz box runs `make flex' as fast
as the 25 MHz one.  I expected the fast filesystem on the 25 MHz box
to make a huge difference in real time, but I certainly didn't
expect the user times to come out the same.  Any of you kernel
hackers got any ideas?  One possibility is difference between the
memory architectures of the two boxes: the 25 MHz uses two-way
interleaving, whereas the 20 MHz machine uses static-column RAM.
I expected the differences due to that to be pretty minimal.
Another possibility is the upgrade from 386/ix 1.0.6 to 2.0.1--
has the PCC really gotten slower in 2.0.1??:-)

Any other takers on this topic?

mike borza.
Michael Borza              Antel Optronics Inc.
(416)335-5507              3325B Mainway, Burlington, Ont., Canada  L7M 1A6
work: mike at antel.UUCP  or  uunet!utai!utgpu!maccs!antel!mike
home: mike at boopsy.UUCP  or  uunet!utai!utgpu!maccs!boopsy!mike

More information about the Comp.unix.i386 mailing list