Continuous integration and continuous deployment (CI/CD) have become industry standard. Being able to quickly change, verify, and deploy code provides a rapid time-to-market and encourages smaller changesets, narrowing the scope for potential bugs. However, this framework relies on the continuous integration pipeline being fast and the developer feedback cycle being short. As a project grows, its compilation time naturally increases. Left unchecked, a project’s compilation time can balloon to the point where it impedes the developer feedback loop.
We found ourselves facing excessive build times that were significantly slowing down our software development life cycle. Using open source tools, we profiled our compilation and identified exactly which files, constructs, and design choices had led to these increased build times. Find out how we reduced our compilation time 10-fold through a series of concrete examples.