I've already ran a very tentative proposal for telemetry-like build system metrics through informal privacy review and I have support for it there.

However, the staffing situation on the build system is not reliable. Non-emeritus build peers are currently working on other initiatives outside of the core build system. This includes things like the shared ccache in automation (which is important, don't get me wrong).

Until more people contribute to the module or staffing becomes more reliable, don't expect much beyond treading water (if that) in the core build system. Given what I know about priorities of build peers, I don't expect the situation to change much in the next 2-3 months.

On 3/28/14, 2:32 PM, Andrew McCreight wrote:
So how long until we set up opt-in build time telemetry? ;)

Andrew

----- Original Message -----
On 3/28/14, 2:16 PM, Chris Peterson wrote:
warp is Facebook's new C/C++ preprocessor, written by Walter Bright (in
D, of course). They claim build time (not just preprocessing time) of
10% to 40%.

https://code.facebook.com/posts/476987592402291/under-the-hood-warp-a-fast-c-and-c-preprocessor

I have a patch at
https://hg.stage.mozaws.net/gecko-collab/rev/d6ea4c36aa65 that will
change the build system to measure different phases of compiler
execution. For each compile command, it essentially runs -E +
-fsyntax-only + -c as separate commands and measures the results.

I'm not sure if isolating the run time of -E is sufficient to measure
the performance overhead of the preprocessor. But what I do know is that
the last time I ran this (a few months ago), mozilla-central's problem
was in AST generation and codegen, not preprocessor. I believe -E
processes were only a few ms on average (assuming SSD, which you should
all be using if you have a choice - MoCo employees have a choice) and
AST/codegen were an order of magnitude longer.

I encourage people to play around with this patch to measure things.
Better yet, try to hook up Warp and see if it actually makes a
difference. If it does, then by all means let's integrate it into the
build system like we already do with ccache.
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform


_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to