> Would it make sense to check in some of the libraries we build that we very > rarely change, and that don’t have a lot of configure dependencies people > twiddle with? (icu, pixman, cairo, vp8, vp9). This could speed up build > times in our infrastructure and for developers. This doesn’t have to be in > mozilla-central. mach could pick up a matching binary for the current > configuration from github or similar. Has anyone looked into this?
If the code for the library isn't changing, it's the build system's responsibility to ensure that nothing is done. One of the problems is that the build system we use (make) is so broken that we have to clobber frequently. Caching helps paper over this issue, and is the easiest short-term win. It's not ideal, though. For non-clobber builds, at least in our infra, caching can still help by sharing objects among machines (eg: for a newly spun up AWS instance with no previous objdir). However, caching still doesn't prevent make from doing lots of unnecessary work (reading Makfiles, building a DAG and stat()ing files) for things that haven't changed. In other words, if icu hasn't changed, the ideal incremental build time for that component is zero, but with make it will always be more than that. > This seems like it would speed up first-build and clobber build times, but > at least for me, it's incremental build performance I care about. gps/glandium have some more fixes in the works, but unfortunately make wasn't designed to scale to projects of this size. -Mike _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform