[m-dev.] preliminary MLDS performance comparisons

Fergus Henderson fjh at cs.mu.OZ.AU
Thu Nov 23 23:09:32 AEDT 2000


On 15-May-2000, Thomas Charles CONWAY <conway at cs.mu.OZ.AU> wrote:
> Fergus Henderson, you write:
> > I've got some preliminary performance results.
> 
> What platform were these done on? Was it the x86?
> After all, our original design was optimized for risc-like architectures,
> not register-starved x86s. In that sense, it is probably more interesting
> to compare the performance o nthe spar or alpha boxen. Not, that it isn't
> good to get speedups on the x86 of course....

OK, I've now got some benchmarks for alphaev5-dec-osf
(murlibobo -- a 300MHz DEC Alpha running OSF1.)

The benchmark task was compiling samples/interpreter.m with `-O6'
(I used a high optimization level to ensure that the test exercises
a large part of the compiler).  For each version of the compiler,
I ran the task 8 times and took the average of the middle 4 results,
and then, so that you can see the variability in the results, I did
the same again.

All versions of the compiler were built with MCFLAGS="-O5 --opt-space".
They differed only in (a) which grade was used, (b) which C compiler
was used, and (c) which C compiler options were used.  Note that on
this platform `cc' and `cc -migrate' are two different C compilers.

                                          --- Times in seconds ---
    GRADE         C compiler    Options   Trail 1  Trial 2  Average
    -----         ----------    -------   -------  -------  -------
    none.gc       cc            -O1       10.30    10.32      10.31
    hlc.gc        cc            -O1        7.13     7.09       7.11
    hlc.gc        cc            -O3        6.98     7.02       7.00
    hlc.gc        cc -migrate   -O4        6.80     6.86       6.83
    hlc.gc        gcc           -O2          (not yet available)
    asm_fast.gc   gcc           -O2        6.71     6.73       6.72

The net result is that for this benchmark the MLDS back-end with
`cc -migrate -O4' generates code that runs within about 2% of the
speed of the code generated by the LLDS back-end with gcc.

However, the code generated by the MLDS back-end is noticably (20%)
smaller:
                                               --- Size in Mb ---
    GRADE           C compiler      Options    Text   Data   File
    -----           ----------      -------    ----   ----   -----
    none.gc         cc              -O1        15.45  2.393  17.89
    hlc.gc          cc              -O1         7.54  0.776   8.34
    hlc.gc          cc              -O3         7.45  0.753   8.24
    hlc.gc          cc -migrate     -O4         7.18  0.745   7.98
    hlc.gc          gcc             -O2         (not yet available)
    asm_fast.gc     gcc             -O4         8.79  0.836   9.65

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list