mold: Ein Linker, der Multi-Gigabyte-Binaries in unter einer Sekunde verlinkt

mold: A Parallel Linker

mold: Ein Linker, der Multi-Gigabyte-Binaries in unter einer Sekunde verlinkt

Das Verlinken ist ein kritischer Schritt im Software-Build-Prozess, der kompilierte Objektdateien zu einem ausführbaren Programm oder einer Shared Library zusammenführt. Trotz jahrzehntelanger Optimierung bleibt die Linkzeit ein Engpass, besonders bei großen C++-Programmen. Bisherige Linker nutzen nur begrenzte Parallelität und lassen die meisten CPU-Kerne ungenutzt. Mit mold stellen wir einen Unix/Linux-Linker vor, der Datenparallelität systematisch über die gesamte Linking-Pipeline einsetzt. Durch eine saubere Neugestaltung, die Symbolauflösung und Archivverarbeitung entkoppelt, überwindet mold die Skalierungsgrenzen bestehender Linker. Bei großen realen Programmen verlinkt mold Multi-Gigabyte-Debug-Binaries in wenigen Sekunden, oft in unter einer Sekunde. Es ist 2,4- bis 16,1-mal schneller als der lld-Linker und bis zu 112-mal schneller als GNU ld. Eine Ablationsstudie zeigt, dass keine einzelne Optimierung dominiert; der Geschwindigkeitsgewinn entsteht durch die kumulative Wirkung der Parallelisierung aller Durchläufe.

Auf großen realen Programmen verlinkt mold Multi-Gigabyte-Debug-Binaries in höchstens ein paar Sekunden, oft in unter einer Sekunde.
  1. gabeochoa

    Alter Tweet von Rui, aber ich habe ihn in einem neueren Zig-Video gesehen und fand die Einstellung wirklich gut:

    (https://x.com/rui314/status/1560277403787997185)

    > Meine Strategie ist es, den Wert von Gemeingütern um, sagen wir, 100 zu erhöhen und 1 als Gegenleistung zu bekommen, also habt Geduld mit mir. Wenn du mold kostenlos nutzen willst, kannst du das einfach tun. Das ist meine Open-Source-Geschäftsstrategie.

    Ich wünsche Mold und Rui alles Gute.

  2. dochtman

    Wild ist mittlerweile ein gutes Stück schneller als mold:

    https://github.com/wild-linker/wild

    (Benchmarks in der README.)

  3. lrvick

    Wir verwenden mold als Standard-Linker in der Stagex-Linux-Distribution. Das hat Stunden von unserer Build-Zeit für den gesamten Baum gespart.

Mehr von diesem Tag

2026-08-26