[m-dev.] making .trans_opt files in parallel

Julien Fischer jfischer at opturion.com
Wed Dec 14 17:45:00 AEDT 2022


Hi Peter,

On Mon, 12 Dec 2022, Peter Wang wrote:

> I would like to fix the problem of .trans_opt files for the standard
> library largely being made sequentially, instead of in parallel.

As an alterantive, we should consider disabling the use the use of
transitive intermodule optimization by default when building the
standard library.

1. It's a bottleneck when installing Mercury. (I have noticed it
    particularly when using -j16 recently.)

2. I suspect most users are using mmc --make which doesn't support it
    anyway.  (And we have certainly been encouraging them to use --make
    over mmake.)

3. The compiler can handle the case where .trans_opt file are not
    available (in principle, I haven't looked at how well that works
    in practice.)

4. .trans_opt files are mainly (solely?) used to store analysis results
    and nearly all of those analysis results have a minor impact on
    other optimizations anyway.

5. Not having .trans_opt files won't affect testing of the termination
    analysers. Almost all of the tests in tests/term are self-contained
    anyway.

6. --transitive-intermode-optimization could still be enabled for the
    the standard library during bootchecks

Julien.


More information about the developers mailing list