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

Reply via email to