February 26, 2021
On Friday, 26 February 2021 at 07:35:16 UTC, Walter Bright wrote:
> On 2/25/2021 6:26 PM, deadalnix wrote:
>> On Friday, 26 February 2021 at 01:52:04 UTC, Walter Bright wrote:
>>> Optlink could do a full link faster than MS-Link could do an incremental link.
>> 
>> That is also the position of the mold guy. He think that the extra work to do incremental linking offset the gains so decided to not even try to do it.
>> 
>> Hard to know which is right.
>
> Incremental linking also tends to suffer from all kinds of weird bugs. Enough so that one tends to give up and go full linking anyway.

That is why they only do it on any type of code, but one the code that has been compiled by their compiler in the right way. So no incremental link for release build for instance, only debug builds.
February 26, 2021
On Friday, 26 February 2021 at 13:23:06 UTC, Atila Neves wrote:
> Nice. I wrote a D program once that used the linker as a server and kept "sending" it object files that it kept on relinking, but unfortunately that didn't speed anything up.

I wouldn't expect this to improve performance unless the linker is coded to take advantage of this. Re linking everything many times won't help.

February 26, 2021
On Friday, 26 February 2021 at 17:04:26 UTC, deadalnix wrote:
> On Friday, 26 February 2021 at 13:23:06 UTC, Atila Neves wrote:
>> Nice. I wrote a D program once that used the linker as a server and kept "sending" it object files that it kept on relinking, but unfortunately that didn't speed anything up.
>
> I wouldn't expect this to improve performance unless the linker is coded to take advantage of this. Re linking everything many times won't help.

On the subject of re-linking, reducing pressure on the linker is probably the way to go from the perspective of things we can actually do. The issue is that these things end up being deeply buried in code or worse exhibit slightly chaotic behaviour (For example, if you pull in dmd-as-a-library in dub it rebuilds the entire frontend every time for no reason as far as I can tell, and it's hard to know why)
February 26, 2021
On 2021-02-26 18:20, Max Haughton wrote:

> (For example, if you pull in dmd-as-a-library in dub it rebuilds the entire frontend every time for no reason as far as I can tell, and it's hard to know why)

It's a bug in Dub [1].

[1] https://github.com/dlang/dub/pull/1687

-- 
/Jacob Carlborg
February 26, 2021
On Friday, 26 February 2021 at 07:35:16 UTC, Walter Bright wrote:
>
> Incremental linking also tends to suffer from all kinds of weird bugs. Enough so that one tends to give up and go full linking anyway.

And for mega-sized codebases that could potentially benefit from incremental linking speed-wise, I'd think its better to use either the application user interfaces and/or BindBC-style dynamic linking as the top-level modularity mechanisms anyway. Am I correct?
February 26, 2021
On Friday, 26 February 2021 at 21:01:14 UTC, Jacob Carlborg wrote:
> On 2021-02-26 18:20, Max Haughton wrote:
>
>> (For example, if you pull in dmd-as-a-library in dub it rebuilds the entire frontend every time for no reason as far as I can tell, and it's hard to know why)
>
> It's a bug in Dub [1].
>
> [1] https://github.com/dlang/dub/pull/1687

Oh joy...
1 2 3
Next ›   Last »