Compilation time

Evan Laforge qdunkan at gmail.com
Fri Jul 7 22:21:42 UTC 2017


On Fri, Jul 7, 2017 at 9:28 AM, Ben Gamari <ben at smart-cactus.org> wrote:
> Ryan Scott <ryan.gl.scott at gmail.com> writes:
>
>> Another things to note about 8.2 build times is that a bulk of the time is
>> probably being spent during the linking phase. This is because GHC 8.2 has
>> switched over to split-sections by default, but unfortunately, old versions
>> of the BFD linker take a long time to link code that uses split-sections
>> (see the discussion at [1]). There is ongoing work (which should hopefully
>> land before the final 8.2 release) to use gold instead of BFD as the
>> default linker when available, which will reduce linking times dramatically.
>>
> Indeed it has already landed. See #13541.
>
> In short, ./configure will now choose to use ld.gold or ld.lld if
> available (although this can be disabled using the --disable-ld-override
> configure flag).

Just from curiosity, does this apply to OS X?  Of course, gold is
ELF-only, so it surely doesn't apply, but there's still lld.  OS X
uses clang to compile so I thought it might already use lld, but the
'ld -v' output looks different, and lld.llvm.org implies it's a
replacement for OS X ld, so maybe not.  But it doesn't look like GNU
ld either, so maybe it's not affected by the BFD bug?

I'll try 8.2 on OS X and see if the link time changes.


More information about the ghc-devs mailing list