[m-dev.] Improving compilation time?

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Aug 17 11:21:09 AEST 2011

On Wed, 17 Aug 2011, Paul Bone wrote:

> On Tue, Aug 16, 2011 at 02:27:25PM +0200, Magnus Holm wrote:

>> - What grades do I need?
> That depends what you want to do, you should start with a low level C grade
> such as asm_fast.gc and add other features if you think you will need them, for
> example profiling and debugging:  A programmer who wants to program in Mercury
> probably wants profiling and debugging support.  Someone who just wants to run
> another person's Mercury program wont need these features.
>> - What's do I gain by re-compiling Mercury with a current installation?
> I don't understand, compared to what?

Presumably as compared to an installation built using the precopmiled
.c files in the source distribution.  Those .c files are built so

(1) a number of machine specific optimizations are disabled (i.e. they
     are built with --cross-compiling enabled).

(2) they use only two tag bits

(3) they use boxed floats

All of the above are done to ensure that the source distribution is
portable.  Rebuilding from scratch (particularly on a 64-bit machine,
where you can have 3 tag bits and unboxed floats) will result in a
faster system.

In addition, on systems on which the asm_fast grades do not work
we recommend rebuilding the Mercury compiler in the hlc.gc grade.

mercury-developers mailing list
Post messages to:       mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions:          mercury-developers-request at csse.unimelb.edu.au

More information about the developers mailing list