Announcement

Collapse
No announcement yet.

A Detailed Look At The Speed Advantages To LLVM's LLD Linker

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • A Detailed Look At The Speed Advantages To LLVM's LLD Linker

    Phoronix: A Detailed Look At The Speed Advantages To LLVM's LLD Linker

    LLVM's linker "LLD" continues The LLVM Linker "LLD" has slowly been gaining more ground as developers try it out as a drop-in replacement to the GNU system linkers. What turns on many developers to LLD is the often "lightning fast" performance compared to the GNU linkers, even the Gold linker...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Originally posted by phoronix View Post
    LLVM's linker "LLD" continues The LLVM Linker "LLD" has slowly been gaining more
    Missing something?

    Comment


    • #3
      Originally posted by tildearrow View Post

      Missing something?
      Copy paste fail between edits, fixed up now. Thanks.
      Michael Larabel
      https://www.michaellarabel.com/

      Comment


      • #4
        FreeBSD and OpenBSD have switched to LLD for the linker.

        Comment


        • #5
          Is there any improvement in runtime performance? No. Spending little extra time during linking process is non issue, majority of endusers don't compile their software. GNU/Linux desktop users would benefit from faster EFL binary startup and quicker shared .so library resolution. GCC still offers better compatibility, produces faster and much smaller binaries e.g in firefox case.

          Comment


          • #6
            Originally posted by hax0r View Post
            GCC still offers better compatibility, produces faster and much smaller binaries e.g in firefox case.
            Thanks for the link, insightful but I'm not sure I believe it because the author seems to be a GCC dev and heavily biased. I'm not into compilers so I can't judge, would be great if a LLVM dev commented on that.
            Though being a C++ dev I totally like LLVM a lot better than g++.

            Comment


            • #7
              Originally posted by hax0r View Post
              Is there any improvement in runtime performance? No. Spending little extra time during linking process is non issue, majority of endusers don't compile their software. GNU/Linux desktop users would benefit from faster EFL binary startup and quicker shared .so library resolution. GCC still offers better compatibility, produces faster and much smaller binaries e.g in firefox case.
              imho binary size is a non issue. most of my ram and disk is not used by code segments.

              faster startup times are nice to have.
              faster binaries are more important though

              Comment


              • #8
                Originally posted by hax0r View Post
                Is there any improvement in runtime performance? No. Spending little extra time during linking process is non issue, majority of endusers don't compile their software. GNU/Linux desktop users would benefit from faster EFL binary startup and quicker shared .so library resolution. GCC still offers better compatibility, produces faster and much smaller binaries e.g in firefox case.
                Still wouldn't use GCC. Not worth it for the marginal "better compatibility". Operating Systems and packages don't magically build themselves.
                Last edited by brad0; 07 February 2019, 09:08 AM.

                Comment


                • #9
                  Can Gentoo be configured to use it? Sounds like it would complement that OS perfectly.

                  Comment


                  • #10
                    Originally posted by hax0r View Post
                    Is there any improvement in runtime performance? No. Spending little extra time during linking process is non issue, majority of endusers don't compile their software. GNU/Linux desktop users would benefit from faster EFL binary startup and quicker shared .so library resolution. GCC still offers better compatibility, produces faster and much smaller binaries e.g in firefox case.
                    There's pretty much no runtime performance difference to using Gnu's LD vs LLD vs Gold. Linking is orthogonal to compiling: you can compile with GCC and link with LLD, or any other combination. Compiling can be highly parallelized (using more cores and even more machines), but linking remains a singular step.

                    So go ahead and use the compiler that produces faster code for a particular codebase (that's sometimes GCC, sometimes LLVM, usually negligible) and use the faster linker to speed up your development process and therefore make the software better faster.

                    Linking Firefox takes around 15min with LLD on my machine, I don't even want to try linking with LD. Waiting for a build is a huge developer productivity killer.

                    Comment

                    Working...
                    X