On 8/2/13 4:43 PM, Robert O'Callahan wrote:
Nathan has just made an excellent post on this topic:
https://blog.mozilla.org/nfroyd/2013/08/02/i-got-99-problems-and-compilation-time-is-one-of-them/
It would be interesting to measure the number of non-blank precompiled
lines in each build, over time. This is probably going up faster than
the number of overall source lines, possibly explaining why build times
increase faster than just the increasing size of the code.
Greg, I assume the build team has data on where time is spent in various
phases of the build today. Can you point us to that data? Especially
valuable if you have data over several releases.
1) Pull my patch queue from
https://hg.mozilla.org/users/gszorc_mozilla.com/gecko-patches/
2) Apply the build-resource-monitor and build-resources-display patches
3) $ mach build
4) $ mach build-resource-usage
The raw data is saved to objdir/.mozbuild/build_resources.json. It
contains CPU, memory, and I/O measurements for every second during the
build along with timing information for the different tiers, subtiers,
and directories.
Currently, the HTML display is kinda crap. It only displays CPU and it
looks horrible. I'm not a professional web developer! The main goal with
the initial patch is to have data collection so we can do nice things
with it later.
Also, I haven't tested on Windows in a while. You also need psutil to be
able to capture the data. psutil is currently optional in our build
system. To test if you have it, run |mach python| and try to |import
psutil|. And, it likely won't work with a fresh source checkout because
psutil is built in configure and mach invokes configure, so there's a
chicken and egg problem. That's pretty much why this hasn't landed yet.
Yeah, I need to land this. It's on my Q3 goals list. Bug 883209 tracks.
Unfortunately we don't have this granular data for the past and likely
never will unless someone wants to rebase and take a bunch of
measurements. We do have old buildbot logs, but those aren't too useful
without timestamps on each line (this is one reason mach prefixes times
on each line - and yes, there needs to be an option to disable that).
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform