• Jamie@jamie.moe
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I remember reading about Mold years ago and being impressed, even though most of my programs that I compile don’t really benefit in any way. I appreciate that it kept going.

  • rmam@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    The performance gains are impressive in relative terms, but I don’t think I would ever switch the default linker if the potential gains are like shaving off 5 seconds when linking a 3GB bundle of binaries.

    • ugo@feddit.it
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      At work we use lld as opposed ld. With ld, the project I work on links in 60-something seconds, with lld it links in less than 6.

      Mold is faster than lld. It is absolutely worth it

    • AnarchoYeasty@beehaw.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      From their repo (https://github.com/rui314/mold#how-to-use)

      Create .cargo/config.toml in your project directory with the following:

      [target.x86_64-unknown-linux-gnu] linker = “clang” rustflags = [“-C”, “link-arg=-fuse-ld=/path/to/mold”] where /path/to/mold is an absolute path to the mold executable. In the example above, we use clang as a linker driver since it always accepts the -fuse-ld option. If your GCC is recent enough to recognize the option, you may be able to remove the linker = “clang” line.

      [target.x86_64-unknown-linux-gnu] rustflags = [“-C”, “link-arg=-fuse-ld=/path/to/mold”] If you want to use mold for all projects, add the above snippet to ~/.cargo/config.toml