[m-dev.] how to reduce the time consumed by make install

Fergus Henderson fjh at cs.mu.OZ.AU
Sat Apr 14 16:55:49 AEST 2001


On 13-Apr-2001, Terrence Brannon <princepawn at earthlink.net> wrote:
> 
> Make install took more than 1 day and then seemed to take forever on a
> file called io.c. My "make" command was completely successful. But I
> want to do something to make the "make install" step take much much
> less time if possible. What can I do for this?  I got the impression
> that it was compiling the same things over and over again but with
> different grades. So I would be happy to settle for just one grade or
> whatever is necessary to have a quick "make install" step.

As documented in the "Fine-tuning" section of the INSTALL file,
you can use the --disable-most-grades option; that only installs 3 grades.
If you want to install just the default grade, you can do `make install_main'
instead of `make install'.

There's several reasons why the install may be particularly slow on your
machine.

(1) I noticed that configure chose grade `none.gc' as the default for your
    machine.  For some unknown reason, the asm_fast.gc grade doesn't work,
    and so configure decided to use none.gc instead.

    The none.gc grade is probably about a factor of two or three slower
    than the asm_fast.gc and hlc.gc grades.  This means that the part of
    `make install' where it is installing all the different versions
    of the library takes 2 or 3 times as long as usual.

    So it would have been better to use the new hlc.gc grade,
    since that is likely to be quite a bit faster than none.gc.
    The C files that we ship in the source distribution are only
    valid for asm_fast.gc, reg.gc, and none.gc, though.
    If you want to build in another grade, you need to
    regenerate those C files, which means that you need
    have a working Mercury 0.10 compiler already installed.
    With the current sources, however, configure will still
    choose none.gc rather than hlc.gc even if you do have
    a working bootstrap compiler installed.

    You can install in grade hlc.gc by putting the line

    	GRADE = hlc.gc

    in a file named `Mmake.params' in the top-level directory,
    and running the command

    	rm -f compiler/*.c profiler/*.c library/*.c browser/*.c

    before doing `make' or `make install'/`make install_main'.

(2) If you post the configure.log and config.log files, then we may be
    able to see why asm_fast.gc didn't work, and with a bit of hacking
    we may be able to get it working.

(3) How much RAM do you have?
    If you have too little RAM, then the system may be thrashing.

(4) What CPU are you using?
    (And what cache)?

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "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-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list