Gold is released

Ian Taylor checked in the long-awaited “gold“. Gold is a new ELF-only linker written in C++. It is designed for performance and is much faster than the current binutils ld.

I’m very happy about this for a few reasons. First, we’ve needed a new linker for a long, long time. Second, this will help the incremental compiler.

I looked through the gold sources a bit. I wish everything in the GNU toolchain were written this way. It is very clean code, nicely commented, and easy to follow. It shows pretty clearly, I think, the ways in which C++ can be better than C when it is used well.

Congratulations, Ian!

3 Comments

  • I’ve tried it out. It’s fast, damned fast. It does appear to make it much more important to have your object files on a fast local disk than a slow NFS-mounted volume, because there’s so little CPU time left that it’s pretty much all I/O.

    Looks like I’ll be banging on it more heavily.

  • I have tried it too. On our medium complexity C++ project, the link time drops from 8-10s to 3-4s, so there is a 2x, 3x difference, not just some percent improvement!
    I just moved a symlink, not even needed to adjust our qmake based buildsystem!

    If you do the math, ‘gold’ will save days on an average programmaer’s year. On a global scale ‘gold’ will save hundreds of person-YEARS per year 🙂

    Well done!

  • The gold sources are not especially good, the GNU binutils are especially bad 😉

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.