DescriptionGraphical version of the run_binary_size_analysis tool.
The binary_size tool suit includes tools that are useful when trying
to reduce binary size of a program, and chromium related programs
in particular.
This commit (mostly written by andrewhayden@chromium.org for
Android but ported to generic Linux by bratell@opera.com) adds
a graphical HTML based output for run_binary_size_analysis.py.
In the generated web page it is possible to dynamically and
graphically browse the binary and each part of the source tree
is given a size that reflects its contribution to the binary size.
The run_binary_size_analysis tool is run on compiled binaries
with symbols and uses nm and addr2line to map parts of the
binary to source code. Since addr2line is slow the operation to map
binary symbols to source files takes a while but the output is
well worth it when shrinking programs. See its usage information
for details about how to run it.
This commit also includes the tool explain_binary_size_delta.py
(textual output) which can be used to understand why a binary
changed size and in what way. See its usage information for
details about how to run it.
There are many further improvements possible to to do on these tools.
Search the bug database for Label:Tools-BinarySize for suggestions.
BUG=339059
R=primiano@chromium.org,andrewhayden@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272255
Patch Set 1 #Patch Set 2 : Fixes to last patch set and some more 64 bit support. #Patch Set 3 : typo #Patch Set 4 : Using the python addr2line wrapper. #
Total comments: 45
Patch Set 5 : Rebased to newer master. #Patch Set 6 : Addressed review concerns #
Total comments: 2
Patch Set 7 : After more review comments. #Patch Set 8 : Remove the build system for the java pieces. #Patch Set 9 : Delete build_size.jar on bots. #Patch Set 10 : Made the code fully pylint clean. #Messages
Total messages: 19 (0 generated)
|