• Bruce Dawson's avatar
    Script to summarize performance of ninja builds · ffc0c7c6
    Bruce Dawson authored
    post_build_ninja_summary.py analyzes the .ninja_log file in an output
    directory to summarize build performance. It lists the most expensive
    build steps, and build-step types, printing both their elapsed time and,
    more importantly, their "weighted" time which is a measure of their
    contribution to the total build time.
    
    For each time segment within the build the running build steps
    accumulate weighted time that is proportional to the elapsed time
    divided by the number of tasks running. If a thousand compilation steps
    are running in parallel then they will each be "charged" for 1/1,000th
    of the elapsed time. If a single link step is running alone then it is
    charged with all of the elapsed time.
    
    Bug: chromium:787983
    Change-Id: Id5aea715f798a16415dd0365a27f0051202668e5
    Reviewed-on: https://chromium-review.googlesource.com/871988Reviewed-by: 's avatarDirk Pranke <dpranke@chromium.org>
    Reviewed-by: 's avatarErik Staab <estaab@chromium.org>
    Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
    ffc0c7c6
post_build_ninja_summary.py 12.2 KB