Yesterday some folks in #developers mentioned they felt their builds were getting slower over time. I wondered if the same was true for our build machines.
Here's a chart of build times for the past year. This is just the compile + link step for nightly builds, restricted to a single class of hardware per OS.
Same machines. Slower builds. Something isn't right here. Windows builds have gone from an average of 90 minutes last March to 150 minutes this January.
The big jump for OSX builds at the end of September is when we turned on the universal x86/x86_64 builds.
There's a pretty clear upward trend; some of this is to be expected given new features being added, but at the same time more complexity is creeping into the Makefiles. Each little bit costs developers extra time every day doing their own builds, and it also means slower builds in the build infrastructure. Which means you'll wait longer to get try results, our build pools will have longer wait times, dogs and cats living together, and mass hysteria!
I'm sure there are places in our build process that can be sped up. Think you can help?
Are you a build system rock star? Do you refactor Makefiles in your sleep? Great! We're hiring!