The linker from the LLVM project lld
is currently developed with new features added week by week. Its developers promise that lld
is faster than ld
. How does it compete compared to gold
?
Is lld a drop-in replacement for ld
? With gold there are some hoops to jump through.
gold was about 3x/4x faster than LD.
Among the reasons why LLD is so much faster comes down to its threading model, continuously evaluating its performance with code changes, a custom memory allocator, more efficient data structures, and other design choices.
LLD is a linker from the LLVM project that is a drop-in replacement for system linkers and runs much faster than them. It also provides features that are useful for toolchain developers. The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and WebAssembly in descending order of completeness.
Clang can be configured to use one of several different linkers: GNU ld. GNU gold. LLVM's lld.
One of the LLD developers, Rui Ueyama, looks back at the progress LLD did in 2016, see http://lists.llvm.org/pipermail/llvm-dev/2016-December/107981.html.
And, as a bonus:
Update spring 2017 According to one of the developers "LLD/ELF is now ready for production use at least for x86-64 (and probably for AArch64 and MIPS).", see http://lists.llvm.org/pipermail/llvm-dev/2017-March/111083.html It also contains a brief description on how to make use of LLD.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With