[mercury-users] High-level vs LLDS grades

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Jul 23 18:01:12 AEST 2004


On 19-Jul-2004, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> hlc.gc is about as fast as asm_fast.gc; on some programs it is faster,
> on some it is slower; the differences range up to about 20%. One of the
> programs on which hlc.gc is slower, by about 20%, is the compiler.

Is it really that much?  I find that a little surprising.
Which version of GCC is that for?

> > * calling compare/3, or the `in = in' mode of unification, for certain
> >   standard library types (std_util__type_desc/0, and
> >   std_util__type_ctor_desc/0). 
> > * calling copy/2 on higher-order terms 
> > * demangling of symbol names in the profiler 
> > * dynamic linking (via the dl__mercury_sym procedure in extras/dynamic/dl.m
> >   in the mercury-extras distribution) for procedures with arguments of
> >   type `float' or `char' 
> 
> These don't [work], but they are minor problems that don't affect most people.

I think calling copy/2 on higher-order terms works now.
For example tests/hard_coded/copy_pred passes in grade hlc.gc.

> > * the `--split-c-files' option 
> 
> This is a missing optimization that isn't really needed with hlc.gc.

Yes.  With recent versions of GCC and binutils, you can get the same
kind of effect by using --cflags "-ffunction-sections -fdata-sections"
--linker-flags "-Wl,--gc-sections".

-- 
Fergus Henderson                    |  "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-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list