1
0
Fork 0
firefox/third_party/chromium/build/docs/debugging_slow_builds.md
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

1 KiB

Debugging slow builds

Some tips for debugging slow build times:

  • Use ninjatracing and chrome:tracing to view a timeline of the most recent build.
    • Many bots output a build trace (look for a "ninja_log" link).
  • Use gn gen --tracelog trace.json to create a similar trace for gn gen.
  • Depot Tool's autoninja has logic for summarizing slow steps. Enable it via:
    • NINJA_SUMMARIZE_BUILD=1 autoninja -C out/Debug my_target
  • Many Android templates make use of md5_check.py to optimize incremental builds.
    • Set PRINT_BUILD_EXPLANATIONS=1 to have these commands log which inputs changed.
  • If you suspect files are being rebuilt unnecessarily during incremental builds:
    • Use ninja -n -d explain to figure out why ninja thinks a target is dirty.
    • Ensure actions are taking advantage of ninja's restat=1 feature by not updating timestamps on outputs when their content does not change.