[mercury-users] High-level vs LLDS grades

Zoltan Somogyi zs at cs.mu.OZ.AU
Mon Jul 19 12:42:14 AEST 2004


On 17-Jul-2004, Peter Hawkins <peter at hawkins.emu.id.au> wrote:
> * Is the grade reg.gc likely to be faster than hlc.gc?
> * Is the grade hlc.gc likely to be faster than none.gc?

reg.gc and none.gc are respectively about half and a third of the speed
of asm_fast.gc. The exact ratio depends on the program, but asm_fast.gc's
superiority doesn't.

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.

> * What features (if any does the grade hlc.gc) lack? Are there any
>   reasons to install the LLDS grades at all?

The major reason is that hlc.gc doesn't support the debugger. It also doesn't
support the deep profiler.

> The only indication of this that I could find on the web pages was the
> following list in the 0.10 release notes:
> * abstractly exported equivalence types defined as `float' 

This should now work.

> * 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, but they are minor problems that don't affect most people.

> * fact tables for procedures with determinism `nondet' or `multi' 
> * the Mercury debugger (mdb) 
> * the Morphine trace analysis system 
> * the Aditi deductive database interface 

These don't work, and they won't without major work.

> * the `--split-c-files' option 

This is a missing optimization that isn't really needed with hlc.gc.

> * the `--introduce-accumulators' option 

This shouldn't be on the list. This option doesn't care about which backend
is being used, and as far as I know, never did.

Zoltan.
--------------------------------------------------------------------------
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