A new linker, mold, has been introduced for Unix/Linux systems. This linker is designed to improve the speed of the software build process by addressing the bottleneck of linking, particularly for large C++ programs. It achieves this by systematically applying data parallelism.
Linking is a crucial step that combines compiled object files into an executable or shared library. Traditional linkers have limited parallelism, leaving most CPU cores underutilized. mold's design overcomes architectural constraints, such as entangled symbol resolution and archive processing, by decoupling them in a clean-slate approach.
On large real-world programs, mold demonstrates substantial performance gains. It can link multi-gigabyte debug binaries in a few seconds, often under one second. This represents a 2.4 to 16.1 times speed improvement over the lld linker and up to 112 times faster performance compared to the traditional GNU ld.
The significant speedup achieved by mold is not due to a single optimization but rather the cumulative effect of parallelizing all passes within the linking process. This comprehensive application of data parallelism across the entire pipeline is what differentiates mold from existing solutions.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
A new Unix/Linux linker named mold has been developed, which systematically applies data parallelism across the entire linking pipeline. This design allows mold to link large C++ programs significantly faster than existing linkers, addressing a bottleneck in software development.