Software developers rely on a fast and correct build system to compile their source code changes and produce modified deliverables for testing and deployment. The scale and complexity of modern build processes makes build performance an important topic to discuss and address.
In this talk, we will introduce a new build performance analysis technique that identifies "build hotspots", i.e., files that are slow to rebuild (by analyzing a build dependency graph), yet change often (by analyzing version control history). We will also discuss the hotspots that we have uncovered in the GLib, PostgreSQL, Qt, and Ruby systems. Our approach helps developers focus build performance optimization effort (e.g., refactoring) onto those files that will yield the most performance improvement.