Es gibt einen Schritt beim Kompilieren, über den kaum jemand nachdenkt und der trotzdem einen großen Teil der Wartezeit frisst: das Linken. Genau da setzt ein Projekt an, das gerade einen radikalen Schnitt angekündigt hat.
ERST MAL: WAS MACHT EIN LINKER EIGENTLICH?
Wenn du Quelltext übersetzt, entstehen zunächst viele einzelne Bruchstücke — für jede Datei eines. Der Linker ist der Handwerker, der diese Teile am Ende zu einem lauffähigen Programm zusammensetzt: Er löst auf, welche Funktion wo liegt, hängt die benötigten Bibliotheken an und legt fest, wo im Speicher später was steht.
Das passiert ganz am Schluss und ist der Teil, der sich am schlechtesten parallelisieren lässt. Bei kleinen Projekten merkst du davon nichts. Bei großen ist das Linken oft der längste einzelne Schritt — und der, der nach jeder noch so kleinen Änderung erneut komplett durchlaufen muss.
UNGLAUBLICH: MILLISEKUNDEN STATT MINUTEN
Auf den allermeisten Linux-Systemen ist /usr/bin/ld bis heute GNU ld. Und der ist alt. Aufgaben, die mold in wenigen hundert Millisekunden erledigt, brauchen dort je nach Projektgröße Sekunden, Dutzende Sekunden oder Minuten.
mold gilt als der schnellste der frei verfügbaren Linker und liegt in Vergleichen regelmäßig vor LLVMs lld, vor GNU ld und vor dem jüngeren wild. Wer viel in C, C++ oder Rust baut, spart damit über den Tag verteilt echte Zeit — nicht als Messwert, sondern als gefühlte Wartepause vor jedem Testlauf.
DER PLAN: RUST — UND DANN DER STANDARD
Projektgründer Rui Ueyama hat angekündigt, mold von C++ nach Rust zu übertragen. Das Ergebnis soll mold 3.0 werden. Phoronix hat die Ankündigung am 12. September 2026 aufgegriffen.
Zwei Gründe stehen dahinter. Der erste ist Sicherheit: Rust verhindert eine ganze Klasse von Speicherfehlern schon beim Übersetzen — und ein Linker verarbeitet fremde Objektdateien, ist also durchaus ein lohnendes Angriffsziel.
Der zweite Grund ist der eigentlich spannende. Zusammen mit dem Umbau bekommt mold Unterstützung für Linker-Skripte. Das klingt technisch, ist aber der entscheidende Hebel: Mit Linker-Skripten legt man exakt fest, wie ein fertiges Programm im Speicher angeordnet wird. Genau das brauchen Kernel und eingebettete Systeme — und genau daran ist mold bisher gescheitert.
Das erklärte Ziel: Wenn mold alles kann, was GNU ld kann, gibt es für Distributionen keinen Grund mehr, beim langsamen Standard zu bleiben. Ueyama sagt offen, dass der Umbau genau darauf zielt — mold soll der Standard-Linker werden.
WAS DAS FÜR DICH HEISST
Kurzfristig: nichts. mold 3.0 ist ein Vorhaben, kein Download. Ein Zeitplan wurde nicht genannt.
Mittelfristig ist es eine der Änderungen, die man erst bemerkt, wenn sie da ist. Wenn Distributionen umstellen, werden Bauzeiten überall kürzer — beim eigenen Projekt, beim Docker-Image, das du selbst baust, und bei jedem Paket, das aus Quelltext gebaut wird.
EXTRA-TIPP: HEUTE SCHON AUSPROBIEREN
Du musst auf 3.0 nicht warten. mold 2.x liegt in den meisten Distributionen bereits in den Paketquellen — unter Debian und Ubuntu etwa als apt install mold. Danach reicht ein zusätzlicher Schalter beim Übersetzen:
gcc -fuse-ld=mold main.c -o main
Für Rust-Projekte trägst du den Linker in .cargo/config.toml ein. Und wenn du es einfach nur einmal erleben willst, stellt mold -run make deinem bestehenden Bauprozess mold unter, ohne dass du eine einzige Zeile an der Konfiguration änderst.
Eine Einschränkung noch, damit die Erwartung stimmt: Bei einem kleinen Programm mit drei Dateien wirst du keinen Unterschied sehen. Der Effekt beginnt dort, wo das Linken heute spürbar dauert.
FAZIT: UNSICHTBARE INFRASTRUKTUR, GROSSE WIRKUNG
Ein Linker ist nichts, womit man angibt. Aber er steht am Ende jedes einzelnen Bauvorgangs auf diesem Planeten. Wenn dieser Schritt für alle schneller wird, ist das eine der wirksamsten Verbesserungen, die man an einem System überhaupt vornehmen kann — ohne dass irgendwer etwas davon merkt.
Häufige Fragen
Was genau ist mold?
Warum wird mold in Rust neu geschrieben?
Wann erscheint mold 3.0?
Kann ich mold jetzt schon verwenden?
mold. Beim Übersetzen aktivierst du ihn mit -fuse-ld=mold, bei Rust über die Datei .cargo/config.toml. Mit mold -run make lässt sich ein bestehender Bauprozess ohne Konfigurationsänderung testweise darauf umstellen.Quellen
- Phoronix: Mold High Speed Linker Being Rewritten In Rust
- Rui Ueyama auf X: Ankündigung zum Rust-Rewrite
- Hardware Busters: The Mold Linker Is Being Rewritten in Rust