Reggae [was Building C++ modules]
Walter Bright
newshound2 at digitalmars.com
Wed Aug 14 21:27:50 UTC 2019
On 8/13/2019 2:13 AM, Jacob Carlborg wrote:
> I suggest you look into incremental compilation, if you haven't done that
> already.
Back in the 90's, when dinosaurs ruled the Earth, it was demanded of us why our
linker (Optlink) didn't do incremental linking, as Microsoft just released
incremental linking support and did a good job marketing it.
The answer, of course, was that Optlink would do a full link faster than MS-Link
would do an incremental link.
The other (perennial) problem with incremental work was amply illustrated by
MS-Link - it would produce erratically broken executables because of mistakes in
the dependency management. Most people just kinda gave up and did full links
just because they could get reliable builds that way.
Not correctly handling every single dependency means you'll get unrepeatable
builds, which is a disaster with dev tools.
The solution I've always focused on was doing the full builds faster.
Although it is not implemented, the design of D is such that lexing, parsing,
semantic analysis, and code generation can be done concurrently. Running the
lex/parse in parallel across all the imports can be a nice win.
More information about the Digitalmars-d
mailing list