From: stp@bernina.ethz.ch (Stephan Paschedag)
Subject: Ultra C test results
Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH
Date: Sun, 8 Nov 1992 20:02:54 GMT


Hi !

here are the first results of my tests of the new Ultra C compiler.
Interesting points :

  - why is sieve slower when compiled for a 68020 ?

  - rayshade could not be compiled with Ultra C because the compiler
    generated invalid assembly source ('fadd.l a0,fp0'). This bug could
    be avoided with -O0, but then the program didn't work anymore !

  - Ultra C does not have special math support for the 68040. A system-
    state traphandler has to be used for 68881/2 emulation, which is VERY
    slow. This is the reason why the whetstone benchmark is 10 times faster
    on a 68040 when compiled with gcc (gcc has a special math library for
    the 68040 chip).

  - when dhry V2.0 was compiled using -j (icode linking) the executable didn't
    work anymore (Error #000:102, Bus Error).

Result : gcc still generates faster and more compact code than Ultra C.
         Ultra C is a step into the right direction, but still needs many
         improvements.

If there is somebody who gets different results, please let me know. If there
are options for Ultra C that force it to generate faster code, please tell me !


Stephan

------------------------------------------------------------------------------

Program   : sieve  (source : 2058 bytes, 135 lines)
Machine   : MVME147S-1 (68030 25MHz, 1 User, no other active processes)
Date      : 92/10/06
Compilers : ucc V1.0, gcc V1.42, cc V3.2

compiler/options                         comp time   exec time     size
====================================== ============ =========== ==========

ucc -O7                                      31        3.94        25130
ucc -O7 -j                                  392        3.94        24266
ucc -O0                                      18        7.73        25314
ucc -tp020 -O7                               29        4.25        23510
ucc -tp020 -O7 -j                           389        4.24        23190
ucc -tp020 -O0                               17        7.73        23706
ucc -tp020c -O7                              30        4.25        23462

gcc -O                                       17        3.73        18850
gcc -O -ob                                   17        3.70        18806
gcc                                          13        5.93        19266
gcc -O -mc68020                              17        3.73        23030
gcc -O -ob -mc68020                          17        3.69        22986
gcc -mc68020                                 13        5.93        23446

cc -O=2                                      11        4.82        18732
cc -O                                        10        4.86        18776
cc -O=2 -k2wcw                               12        4.82        22960
cc -O -k2wcw                                 10        4.86        23004

------------------------------------------------------------------------------

Program   : dhry V1.0
Machine   : KWS cpUnit040 (68040 25MHz, 1 User, no other active processes)
Date      : 92/11/08
Compilers : ucc V1.0, gcc V1.42, cc V3.2

compiler/options                        dhry/sec      size
====================================== =========== ==========

ucc -tp68k -O7                            15663      22926
ucc -tp68k -r -O7                         16537      22542
ucc -tp020 -O7                            20779      21426
ucc -tp020 -r -O7                         22299      18942
ucc -tp020c -r -O7                        22206      21070

gcc -O -o68 -ob                           18099      15274
gcc -O -o68 -ob -mnostack-check           21650      15130
gcc -O -o68 -ob -m68020                   21577      18034
gcc -O -o68 -ob -mnostack-check -m68020   26622      17890
gcc -O -ob -mnostack-check -m68020
    -fomit-frame-pointer -fforce-mem
    -fcombine-regs                        30477      17774

cc -k0wcw -q -O=2                         12432      15482
cc -k0wcw -S -q -O=2                      13570      15342
cc -k2wcw -q -O=2                         17259      18238
cc -k2wcw -S -q -O=2                      19716      18098

------------------------------------------------------------------------------

Program   : dhry V2.0
Machine   : KWS cpUnit040 (68040 25MHz, 1 User, no other active processes)
Date      : 92/11/08
Compilers : ucc V1.0, gcc V1.42, cc V3.2

compiler/options                        dhry/sec      size
====================================== =========== ==========

ucc -tp020 -O7                            17247      23260
ucc -tp020 -O7 -r                         18920      22920
ucc -tp020c -O7 -r                        18900      22892

gcc -O -ob -m68020 -fcombine-regs
    -fomit-frame-pointer -fforce-mem      20800      19082
gcc -O -ob -m68020 -fcombine-regs
    -fomit-frame-pointer -fforce-mem
    -mnostack-check                       25918      18938

cc -k2wcw -O=2                            14256      19536
cc -k2wcw -O=2 -S                         16425      19292

------------------------------------------------------------------------------

Program   : whet
Machine   : KWS cpUnit040 (68040 25MHz, 1 User, no other active processes)
Date      : 92/11/08
Compilers : ucc V1.0, gcc V1.42

compiler/options                        whet/sec      size
====================================== =========== ==========

ucc -O7 -tp020                           4633000     22986

gcc -O -mc68040                         45745600     21436

gcc -O -m68020 -m68881                   4689900     16730

------------------------------------------------------------------------------

Program   : whet
Machine   : NDR Computer (68030 25MHz, 68882 25MHz)
Date      : 92/11/08
Compilers : ucc V1.0, gcc V1.42

compiler/options                        whet/sec      size
====================================== =========== ==========

ucc -O7 -tp020                          12180200     22986

gcc -O -mc68040                          8631100     21436

gcc -O -m68020 -m68881                  13372500     16730

==============================================================================
OS/2 & PS/2 : half an operating system for half a computer.

Stephan Paschedag                                         stp@ethz.UUCP
Bauernhalde 5, CH-8708 Maennedorf             ..!mcvax!cernvax!chx400!ethz!stp
or MPL AG, Zelgweg 12, CH-5405 Baden-Daettwil          stp@bernina.ethz.ch
______________________________________________________________________________