LLVM's LLD Linker Looking At Enabling Multi-Threading By Default

Written by Michael Larabel in LLVM on 18 November 2016 at 12:00 AM EST. 1 Comment
LLVM
With LLVM's LLD linker continuing to gain ground, there's now talk of it enabling multi-threading support by default.

The LLD linker has supported a --threads option to enable multi-threading, but it's not currently a default. While not a default, enabling this threads option has a big performance impact.

As explained by Rui Ueyama in this mailing list thread in looking to enable it by default, "LLD runs 30% faster with --threads option and more than 50% faster
if you are using --build-id (your mileage may vary depending on your computer). However, I don't think most users even don't know about that because --threads is not a default option."

More benchmark data on the LLVM linker's multi-threaded performance via this page.

So far the thread comments seem in favor of enabling it by default in that the multi-threading code is indeed faster while others have spotted other areas for improvement with LLD, such as its SHA1 performance. Those testing the threads option have reported positive results too even if just on a dual-core system while it does not appear to hurt single-core systems. Hopefully the LLVM linker will end up enabling this multi-threading feature in time for the 4.0 milestone in further enhancing LLVM's performance.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week