[comp.lang.c] 16 and 32 bit C compilers for the 386

rhl@computing-maths.cardiff.ac.uk (Robert Hartill) (11/12/90)

I need to examine the relative performance of code produced
by 16 and 32 bit C compilers for 386 processor.

First I need to find out which compilers generate 32-bit code

Any names ?

If anyone has already looked into this subject, code they
please send me their findings ?

E-mail prefered.

Thanks,
    Robert Hartill

jimb@hpmcaa.mcm.hp.com (Jim Belesiu) (11/14/90)

Interesting that you asked.  Here are the results for a benchmark that
I just completed involving the  rasterization of 12 channels of ECG data
for a thermal printer.

Microway NDP-C 3.00:  75msec / 100msec of data
Microsoft C 5.1    :  55msec / 100msec of data (small model)
Turbo C 2.0        :  46msec / 100msec of data (small model)
                      55msec / 100msec of data (large model)

All times were measured on a 20MHz 80386 PC with one wait state DRAM.  The
measurement interval was 1000 iterations of 100msec data packets to minimize
the errors from the overhead with the time measuring routines.  The entire
benchmark was written in vanilla ANSI C.

The conclusions from this experiment?  386 C compilers are still very 
immature compared with their 80x86 real mode brethren.  And certainly there
exists other benchmarks that would drastically change these results.  For
one would certainly expect that the 80386 running 32 bit instructions should
run circles around a 80386 limited to 16 bit instructions.