← Terug
Nieuwe linker 'mold' versnelt softwarebuilds drastisch door massale parallellisatie

Nieuwe linker 'mold' versnelt softwarebuilds drastisch door massale parallellisatie

Een nieuwe Unix/Linux-linker genaamd mold belooft de snelheid van het koppelen van software aanzienlijk te verhogen. Door een ontwerp dat volledig inzet op dataparallellisme, kan de tool buildtijden voor grote programma's reduceren van minuten naar seconden.

Het proces van linking is een cruciale stap in de ontwikkeling van software. Hierbij worden gecompileerde objectbestanden samengevoegd tot één enkel uitvoerbaar bestand of een gedeelde bibliotheek. Hoewel er al decennia aan engineering is besteed om dit proces te optimaliseren, blijft de linktijd een aanzienlijke flessenhals in de zogenaamde 'edit-compile-debug'-cyclus, zeker bij omvangrijke C++-projecten.

Volgens een wetenschappelijk artikel dat op 24 augustus 2026 is gepubliceerd via arxiv.org, maken bestaande linkers slechts beperkt gebruik van parallellisme. Dit resulteert erin dat het merendeel van de beschikbare CPU-kernen ongebruikt blijft tijdens het linkproces. De nieuwe tool, mold, is ontwikkeld om dit probleem systematisch aan te pakken door dataparallellisme toe te passen over de gehele pipeline van het linken.

Doorbreken van architecturale beperkingen

De auteur van het onderzoek, Rui Ueyama, analyseerde in de publicatie de architecturale beperkingen die schaalbaarheid in huidige linkers belemmeren. Twee belangrijke knelpunten zijn de verstrengeling van symboolresolutie en de verwerking van archieven. Door te kiezen voor een 'clean-slate' ontwerp, waarbij deze processen van elkaar worden ontkoppeld, is mold in staat om de beperkingen van oudere systemen te overstijgen.

De resultaten van deze nieuwe benadering zijn volgens de opvallend. Bij grote, real-world programma's kan mold debug-binaries van meerdere gigabytes in slechts enkele seconden linken, en in sommige gevallen zelfs in minder dan één seconde.

Prestatievergelijking met bestaande tools

Om de effectiviteit van mold aan te tonen, is de tool vergeleken met andere gangbare linkers. De resultaten laten een aanzienlijk prestatieverschil zien:

  • Vergelijking met lld: Mold is tussen de 2,4 en 16,1 keer sneller dan de lld-linker, die momenteel als state-of-the-art wordt beschouwd.
  • Vergelijking met GNU ld: Ten opzichte van de traditionele GNU ld-linker is de snelheidswinst nog groter, met een versnelling tot wel 112 keer.

Uit een uitgevoerde ablatiestudie blijkt dat deze snelheidswinst niet toe te schrijven is aan één enkele optimalisatie. In plaats daarvan is het het cumulatieve effect van het parallelliseren van alle verschillende fasen in het proces dat voor de prestatieverbetering zorgt.

Beschikbaarheid en erkenning

De broncode van de linker is publiekelijk toegankelijk gemaakt op github.com, waar het project onder de naam "mold: A Modern Linker" wordt beheerd. De tool heeft daar inmiddels een aanzienlijke hoeveelheid aandacht gekregen van de ontwikkelaarsgemeenschap.

Het wetenschappelijke werk achter mold is niet alleen gepubliceerd als preprint, maar is ook geaccepteerd voor presentatie op de conferentie ASPLOS 2027, zoals vermeld in de . Hiermee krijgt de nieuwe methode voor massaal parallel linken een breder academisch platform binnen de computerwetenschappen, specifiek binnen het vakgebied van besturingssystemen.

Geraadpleegde bronnen
Lees origineel artikel — Nieuws
Waardering
0
Stem mee op dit artikel
Discussie
Nog geen reacties. Wees de eerste!