[m-dev.] idea to speed up making trans_opt files

Peter Wang novalazy at gmail.com
Mon Aug 5 14:42:26 AEST 2019


Hi,

I was reminding myself why making .trans_opt files in the library
directory is a largely sequential process. There is a blob of cyclic
dependencies in the standard library (67 modules). The cycle is broken
arbitrarily by name: later modules can't use the .trans_opt files of
earlier modules for the purposes of making a .trans_opt file.

I don't have a better idea for increasing parallelism in the process
except, perhaps, manually removing a module's dependency on a particular
.trans_opt file if we determine beforehand that the dependency will not
(significantly) improve the results of the current module.

To speed up the sequential process of making .trans_opt files:
there probably is a lot of repeated work in reading and processing the
same interface and .opt files since mmc is invoked to generate each
.trans_opt separately. The obvious solution is to call mmc once with the
set of modules it needs to generate .trans_opt files for, and have it
retain the parsed/processed modules in memory across the set.

I'm not intending to work on this any time soon. Does it sound like a
large change?

Peter


More information about the developers mailing list