# rui314/mold

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rui314-mold).**

16,190 stars · 529 forks · C++ · mit

## Links

- GitHub: https://github.com/rui314/mold
- awesome-repositories: https://awesome-repositories.com/repository/rui314-mold.md

## Description

Mold is a high-performance linker designed to replace standard system tools for the creation of executable binaries and shared libraries. It functions as a drop-in replacement for existing linkers, focusing on accelerating the final build phase of large software projects to improve developer productivity.

The tool achieves its performance by utilizing multi-threaded processing to distribute the linking of object files across multiple CPU cores. It supports cross-architecture binary linking, allowing it to process compiled files for diverse platforms efficiently. By intercepting standard linker invocations, it integrates into existing build systems without requiring manual configuration changes.

The software employs several technical strategies to minimize build times, including memory-mapped file input and output, lock-free symbol tables, and optimized relocation processing. These methods reduce system call overhead and prioritize cache locality during the generation of output binaries.

## Tags

### DevOps & Infrastructure

- [Linkers](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/high-performance/linkers.md) — Accelerates the final build phase of large software projects by replacing standard system linkers with a faster, multi-threaded alternative.
- [Build Optimization](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-optimization.md) — Reduces total compilation time for complex software by streamlining the linking process without modifying existing project configuration files.

### Programming Languages & Runtimes

- [Linkers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/linkers.md) — Links object files into executable binaries and shared libraries while significantly reducing build times for large software projects.
- [Parallel Linkers](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/concurrency/execution-models/multi-threaded-execution/parallel-linkers.md) — Distributes the processing of input object files across multiple CPU cores to perform symbol resolution and relocation in parallel.

### Development Tools & Productivity

- [Build Accelerators](https://awesome-repositories.com/f/development-tools-productivity/build-accelerators.md) — Provides a high-speed linker designed to replace standard system tools to improve developer productivity by minimizing wait times.
- [Binary Compilation Toolchains](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/binary-compilation-toolchains.md) — Accelerates the final build phase by replacing standard system linkers with a high-performance alternative that processes binary files efficiently. ([source](https://cdn.jsdelivr.net/gh/rui314/mold@main/README.md))
- [Command Interception Shims](https://awesome-repositories.com/f/development-tools-productivity/command-interception-shims.md) — Redirects standard build system commands to a faster execution path automatically by wrapping the process without requiring manual configuration changes. ([source](https://cdn.jsdelivr.net/gh/rui314/mold@main/README.md))

### Operating Systems & Systems Programming

- [Cross-Architecture Linkers](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-analysis-tools/cross-architecture-analysis-tools/cross-architecture-linkers.md) — Processes compiled object files into executable binaries efficiently across multiple CPU architectures to speed up development cycles.
- [Relocation Optimizers](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-analysis-tools/cross-architecture-analysis-tools/relocation-mechanisms/relocation-optimizers.md) — Applies binary relocations using specialized algorithms that prioritize cache locality and minimize memory bandwidth consumption during final output generation.

### Data & Databases

- [Zero-Copy Memory Mappings](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/zero-copy-memory-mappings.md) — Maps input object files directly into the process address space to minimize data copying and reduce system call overhead.
- [Symbol Table Managers](https://awesome-repositories.com/f/data-databases/read-replicas/lock-free-map-structures/symbol-table-managers.md) — Uses concurrent data structures to manage global symbol lookups without requiring expensive mutex contention during the linking process.
