[m-dev.] enabling stseg component by default

Peter Wang novalazy at gmail.com
Wed May 22 17:05:14 AEST 2013


On Wed, 22 May 2013 12:34:14 +1000, Julien Fischer <jfischer at opturion.com> wrote:
> On Wed, May 22, 2013 at 12:12 PM, Peter Wang <novalazy at gmail.com> wrote:
> 
> > On Tue, 21 May 2013 17:14:22 +1000 (EST), Julien Fischer <
> > jfischer at opturion.com> wrote:
> > >
> > > Hi all,
> > >
> > > I propose that we enable the stseg (stack segments) grade component
> > > by default for all low-level C grades in the post 13.05 versions
> > > of the compiler.
> > >
> > > Any objections?
> >
> > In addition to, or replacing non-stseg grades?
> >
> 
> Replacing non-stseg grades in the default grade set.  For example, on Linux
> the default grades
> would become:
> 
>     asm_fast.gc.stseg
>     asm_fast.gc.stseg.trseg
>     asm_fast.gc.stseg.debug
>     ... etc
> 
> If you wanted a non-stseg grade you would need to explicitly specify that
> that grade be
> installed.

Ok for the debug grades as they are relatively slow anyway (and prone to
running out of stack) but I'm not sure about asm_fast.gc.
The difference in performance seems to be more than I remember.
(standard speed test)

    EXTRA_MCFLAGS = 
    GRADE = asm_fast.gc
    mercury_compile.01 average of 6 with ignore=1      9.06

    EXTRA_MCFLAGS = 
    GRADE = asm_fast.gc.stseg
    mercury_compile.02 average of 6 with ignore=1     10.24

    EXTRA_MCFLAGS = 
    GRADE = hlc.gc
    mercury_compile.03 average of 6 with ignore=1      8.63

Obviously experienced users can install asm_fast.gc explicitly if they
want.

Peter



More information about the developers mailing list