[Submitted connected 24 Aug 2026]
View PDF HTML (experimental)
Abstract:Linking is simply a captious measurement successful the package build process that combines compiled entity files into a azygous executable aliases shared library. Despite decades of engineering effort, nexus times stay a important bottleneck successful the edit-compile-debug cycle, peculiarly for ample C++ programs. Existing linkers utilization constricted parallelism, leaving astir CPU cores idle during linking. We coming mold, a Unix/Linux linker that applies information parallelism systematically crossed the full linking pipeline. We first analyse the architectural constraints that forestall existing linkers from scaling, including entangled awesome solution and archive processing, and past show really a clean-slate creation that decouples them overcomes these limitations. On ample real-world programs, mold links multi-gigabyte debug binaries successful astatine astir a fewer seconds, and often successful nether a second. It is 2.4-16.1x faster than the state-of-the-art lld linker, and up to 112x faster than the accepted GNU ld. An ablation study shows that nary azygous optimization dominates; the speedup comes from the cumulative effect of parallelizing each passes.Submission history
From: Rui Ueyama [view email]
[v1] Mon, 24 Aug 2026 13:20:03 UTC (82 KB)
English (US) ·
Indonesian (ID) ·