[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