[comp.unix.xenix] 16 bit code on 386 machines

dave@micropen (David F. Carlson) (12/19/87)

This is a quicky observed pseudo-benchmark.  I make no claim
to what it means or to the validity as a benchmark.  Times are
as reported (time) and no claim for their differences are made but
the realtimes figure approximately.  Times were taken on otherwise
idle machines.

An "interesting" all-around benchmark that I use as a first shot
on my machines is to compress (using the news program "compress")
a large, standard data file.  The standard file I use is a tar
file of the first (now) 12 patch levels for news11.  These are standard
in that they are distributed identically to all news sites (and both
were compiled with 16 bit compression.)

Using a 16MHz Micronics 386 with 286 code (i286emul), 386 code and
an 8MHz generic 286 clone both running Microport (286 2.2 / 386 2.1)
I arrive at the following:

File size of patches.tar:		536,576 bytes
File size of patches.tar.Z:	212,615 bytes

Machine    Code      Utime      Stime      Realtime
---------------------------------------------------

286         286      159.0       4.6         1:59
386         286      220.3       4.0         2:16
386         386       35.6       3.6         0:25

What is interesting about this (ie. "makes sense") is
that it appears that the 286 code is segment load limited
as compress uses lots of large arrays.  The size of
the input and output files requires 750K of disk io, so
note that the 386/386 code used the same io system as
the 386/286 code.  It appears that the code isn't io bound
in the 286 case.

Compress is an "interesting" program because so many systems
use it in their news transportation system.  Non-terminal node
sites in fact have to uncompress all their news and then rebatch
it (ie. compress) for their fed sites, so a lot of machines 
consume CPU with this program.  It appears to make a lot of 
sense to recompile programs when moving to the 386 architecture
because the penalty for using i286emul is quite high.  Note
that the 386 box when run as a 286 (meaning running V/286 on 
a 386 machine rather than i286emul) it gives 2X performance over
a normal 286 box.  Thus the i286emul is running 50% slower than
one might expect on a 386 processor, but is still very close to
the straight 8MHz-286 times.

-- 
David F. Carlson, Micropen, Inc.
...!{ames|harvard|rutgers|topaz|...}!rochester!ur-valhalla!micropen!dave

"The faster I go, the behinder I get." --Lewis Carroll