Or adopt the Nix approach of caching common binary artifacts in a content addressable store and rebuild from source only when needed.