On Tue, Jun 25, 2013 at 11:52:03AM -0700, Gregory Szorc wrote:
> 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.

Alternatively, if you have plenty of RAM, build in a RAM disk.

Mike
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to