tl;dr You may experience a change in behavior in build performance

In bug 884587, we just changed how file purging occurs during builds.

Due to historical reasons (notably bad build dependencies and to prevent old files from leaking into the distribution package), we wipe out large parts of objdir/dist at the beginning of a top-level build [1].

Until recently, we simply did a |rm -r| because there was no way for the build system to know which files should or shouldn't be retained. The moz.build transition has given us a "whole world view" that now allows us to identify which files should or should not belong. Instead of performing |rm -r|, we now read in manifest files, scan directories being purged, and selectively delete files that are unaccounted for.

An unfortunate side-effect of this change is that we need to walk parts of objdir at the top of the build, which may be slow, especially if this directory isn't in the filesystem/stat cache. This may result in a multi-second "jank" at the beginning of the build. Hopefully, this jank is offset by the build performing less work (deleting fewer files at the top of the build means fewer files need to be restored during the build).

If you notice "unacceptable" jank during purging and you aren't building on an SSD, please buy an SSD (if you can). I'll say it again: *please build Firefox on an SSD if you can*. If you have an SSD, I will be very interested in investigating further. File a new bug that depends on bug 884587 and we'll look into things.

[1] https://hg.mozilla.org/integration/mozilla-inbound/rev/8d90527c22c6#l1.12
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to