Abstract
This disclosure describes content-addressed build tools and techniques to accelerate the checkout of source code and building of software binaries. The techniques leverage the observation that a typical software build is highly cacheable, and major parts of a build are reusable when code changes are made. In contrast to traditional, timestamp-based build tools, the techniques use content hashes to trigger rebuilding. A Merkle Tree File System (MTFS) provides a content-hash of the directories and files of the software project. Build inputs are not required to be fully or correctly specified. Files and directories are lazily loaded upon actual access, such that a developer need not wait for the entire source tree to download before use. Interactions with the file system are recorded and can be replayed/reused by other builds to save time and compute resources. The techniques can substantially reduce checkout and build times.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Recommended Citation
Gheibi, Haamed; Santiago, Taylor; Seymour, Rob; and Sanders, Erik, "Content-Addressed Filesystem for Fast Software Builds", Technical Disclosure Commons, (June 12, 2024)
https://www.tdcommons.org/dpubs_series/7097