LLVM's LLD Linker Made Incredible Progress In 2016, Much Faster & Linking More
LLVM's LLD Linker continues making great strides and with the year coming to an end, developer Rui Ueyama has shared a status update as well as posting some performance benchmarks for the gains made by LLD this year.
Highlights by Rui for LLD progress in 2016 include:
- LLD can now link most x86-64 user-land programs.
- FreeBSD is working on making LLD the system default linker.
- LLD supports x86, x86-64, x32, AArch64, AMDGPU, ARM, PPC64, MIPS32, and MIPS64.
- CloudABI and Google's Fuchsia OS are among those using LLD as system linkers.
- The Clang link time performance has improved a lot. At the start of 2016 it took 1.5GB of memory and 16 seconds while now it takes 14.5 seconds or just 8.5 seconds if using a 20 core system with the threaded version. The Gold linker takes 25 seconds or 20 seconds with threading.
- Rui commented, "I believe we succeeded to maintain LLD code base clean, easy to read, and easy to add new features. It is just 20k lines of modern C++ code which is much smaller than GNU linkers."
Rui wrote in his 2016 LLD status update, "I'm pretty sure that that is going to be a serious (and better, in my opinion) alternative to the existing GNU linkers thanks to all the improvements we've made this year."
Highlights by Rui for LLD progress in 2016 include:
- LLD can now link most x86-64 user-land programs.
- FreeBSD is working on making LLD the system default linker.
- LLD supports x86, x86-64, x32, AArch64, AMDGPU, ARM, PPC64, MIPS32, and MIPS64.
- CloudABI and Google's Fuchsia OS are among those using LLD as system linkers.
- The Clang link time performance has improved a lot. At the start of 2016 it took 1.5GB of memory and 16 seconds while now it takes 14.5 seconds or just 8.5 seconds if using a 20 core system with the threaded version. The Gold linker takes 25 seconds or 20 seconds with threading.
- Rui commented, "I believe we succeeded to maintain LLD code base clean, easy to read, and easy to add new features. It is just 20k lines of modern C++ code which is much smaller than GNU linkers."
Rui wrote in his 2016 LLD status update, "I'm pretty sure that that is going to be a serious (and better, in my opinion) alternative to the existing GNU linkers thanks to all the improvements we've made this year."
8 Comments