Linkers: A 20 Part Series (2007)

A 20-part love letter to the boring step that makes apps run—sparks a speed feud

TLDR: An old-school engineer’s 20-part explainer on the code-stitching step (the linker) resurfaced, celebrating speed and history. Comments erupted into a gold-versus-lld speed showdown, while the main link crashed and was rescued by mirrors—proof that faster builds matter and the speed crown is still contested.

A veteran coder just resurfaced a 20‑part deep dive into the “linker” — the behind‑the‑scenes step that stitches your code pieces into a working app. He’s blunt: linkers are boring speed bumps and should be faster. Cue nostalgia: commenters blinked, “Wait… gold, from 2007? Almost 20 years already?”

Then the speed war lit up. One camp waved the GNU-made “gold” flag; the other yelled, “LLVM’s lld is faster,” dropping receipts like slides and docs. It’s the classic internet sequel: Old guard vs new hotness, both agreeing on one thing — waiting on builds is pain. Meanwhile, the ToC link took a “hug of death,” crash‑landing under traffic, and a hero swooped in with a Wayback Machine mirror. Users traded wink‑wink dinosaur jokes from the article while marveling at a line claiming a linker once ran “almost as fast as cat,” basically “so fast it’s silly.” Another meta thread popped up, dragging a 2015 post out of the vault like a rerun.

For non‑tech readers: a linker bundles all the bits of your program into the final app. If it’s slow, developers wait; if it’s fast, they ship. The crowd loved the history lesson but came for the drama: timing shock, archive rescues, and the eternal “which tool is king?” clapback. The comments, as always, stole the show.

Key Points

  • The author is launching a blog series to explain linkers and plans to compile it into an essay.
  • They built a first linker in 1988 for AMOS on Alpha Micro systems, using a global symbol database for speed.
  • A second linker (1993–1994), designed with Steve Chamberlain at Cygnus, reimplemented a BFD-based linker targeting a.out and COFF, achieving near-cat performance on SunOS 4.
  • The new linker, gold, targets ELF exclusively, aims to be faster than the previous linker, and plans include incremental linking.
  • The article explains that linkers convert object files into executables and shared libraries, outlining the compilation and assembly steps.

Hottest takes

"EDIT: hug of death I suspect" — mattrighetti
"LLVM's lld linker is typically faster" — canucker2016
"Previously: Linkers, part 1 (2007)" — tomhow
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.