Closed Bug 948272 Opened 6 years ago Closed 6 years ago

Track more moz.build timings

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED
mozilla29

People

(Reporter: gps, Assigned: gps)

References

Details

(Whiteboard: [qa-])

Attachments

(1 file, 1 obsolete file)

We were talking about possibly optimizing moz.build reading during lunch. Before we decide if we should do that, let's collect more data from the build system on timings.
The big change is we now explicitly record time spent in emitter.py. We
also report how much untracked time was measured.
Attachment #8345117 - Flags: review?(mh+mozilla)
Assignee: nobody → gps
Status: NEW → ASSIGNED
Blocks: 948787
Comment on attachment 8345117 [details] [diff] [review]
Report more timings from moz.build

Review of attachment 8345117 [details] [diff] [review]:
-----------------------------------------------------------------

This patch is the cause of build failures on this try: https://tbpl.mozilla.org/?tree=Try&rev=cc17300d2cb3

$ ./config.status
Reticulating splines...
Finished reading 1246 moz.build files in 0.35s
Processed into 5316 build config descriptors in 1.61s
Backend executed in 2.09s
2652 total backend files. 0 created; 328 updated; 2324 unchanged
Total wall time: 4.17s; CPU time: 4.18s; Efficiency: 100%; Untracked: 0.12s

It eats LIBRARY_NAME, FINAL_LIBRARY and SHARED_LIBRARY_LIBS in various backend.mk files. (Sadly, as the config.status --diff patch depends on this one, i couldn't use it)
Attachment #8345117 - Flags: review?(mh+mozilla) → review-
I forgot to emit the buffered objects from the libs derived function
call. 0 files changed when running config.status with this patch
applied.
Attachment #8345845 - Flags: review?(mh+mozilla)
Attachment #8345117 - Attachment is obsolete: true
FWIW, that bug in the previous patch exposes a hole in testing of FINAL_LIBRARY being written by the build backend.
Comment on attachment 8345845 [details] [diff] [review]
Report more timings from moz.build

Review of attachment 8345845 [details] [diff] [review]:
-----------------------------------------------------------------

::: python/mozbuild/mozbuild/frontend/emitter.py
@@ +112,5 @@
> +
> +        for o in objs:
> +            yield o
> +            if not o._ack:
> +                raise Exception('Unhandled object of type %s' % type(o))

Can you make a function for this instead of repeating it?
Attachment #8345845 - Flags: review?(mh+mozilla) → review+
https://hg.mozilla.org/mozilla-central/rev/7027a7afab3c
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
Whiteboard: [qa-]
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.