Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Side by Side Diff: tools/binary_size/README.txt

Issue 1831473003: 🌕 Update binary_size/README.txt to have GN args rather than GYP_DEFINES (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ================================================================================ 1 ================================================================================
2 __________ .__ 2 __________ .__
3 \______ \ |__| ____ _____ _______ ___.__. 3 \______ \ |__| ____ _____ _______ ___.__.
4 | | _/ | | / \ \__ \ \_ __ \ < | | 4 | | _/ | | / \ \__ \ \_ __ \ < | |
5 | | \ | | | | \ / __ \_ | | \/ \___ | 5 | | \ | | | | \ / __ \_ | | \/ \___ |
6 |______ / |__| |___| / (____ / |__| / ____| 6 |______ / |__| |___| / (____ / |__| / ____|
7 \/ \/ \/ \/ 7 \/ \/ \/ \/
8 _________ .__ ___________ .__ 8 _________ .__ ___________ .__
9 / _____/ |__| ________ ____ \__ ___/ ____ ____ | | 9 / _____/ |__| ________ ____ \__ ___/ ____ ____ | |
10 \_____ \ | | \___ / _/ __ \ | | / _ \ / _ \ | | 10 \_____ \ | | \___ / _/ __ \ | | / _ \ / _ \ | |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 Running the tool is fairly simple. For the sake of this example we will 52 Running the tool is fairly simple. For the sake of this example we will
53 pretend that you are building the Content Shell APK for Android. 53 pretend that you are building the Content Shell APK for Android.
54 54
55 1. Build your product as you normally would*, e.g.: 55 1. Build your product as you normally would*, e.g.:
56 ninja -C out/Release -j 100 content_shell_apk 56 ninja -C out/Release -j 100 content_shell_apk
57 57
58 * For results that are as spatially accurate as possible, you should always 58 * For results that are as spatially accurate as possible, you should always
59 build with a Release configuration so that the end product is as close to 59 build with a Release configuration so that the end product is as close to
60 the real thing as possible. However, it can sometimes be useful to improve 60 the real thing as possible. However, it can sometimes be useful to improve
61 consistency and accuracy of symbol lookup even if it perturbs the overall 61 consistency and accuracy of symbol lookup even if it perturbs the overall
62 accuracy of the tool. Consider adding these defines (e.g., via GYP_DEFINES 62 accuracy of the tool. Consider adding these GN args:
63 or GN build arguments): 63 is_clang = true
64 clang=1
65 Anecdotally produces more stable symbol names over time. 64 Anecdotally produces more stable symbol names over time.
66 profiling=1 65 enable_profiling = true
67 Anecdotally makes symbol lookup more accurate (note that profiling=1 66 Anecdotally makes symbol lookup more accurate (note that it
68 doesn't work with clang on ARM/Android builds, see 67 doesn't work with clang on ARM/Android builds, see
69 https://crbug.com/417323 for more information. 68 https://crbug.com/417323 for more information.
70 profiling_full_stack_frames=1 69 enable_full_stack_frames_for_profiling = true
71 With profiling=1, should further improve symbol lookup accuracy but 70 With enable_profiling, further improves symbol lookup accuracy but
72 will completely disable inlining, further decreasing spatial accuracy. 71 will completely disable inlining, decreasing spatial accuracy.
73 72
74 2. Run the tool specifying the library and the output report directory. 73 2. Run the tool specifying the library and the output report directory.
75 This command will run the analysis on the Content Shell native library for 74 This command will run the analysis on the Content Shell native library for
76 Android, producing an HTML report in /tmp/report and saving the NM output 75 Android, producing an HTML report in /tmp/report and saving the NM output
77 (useful for re-running the tool or analyzing deltas between two builds) 76 (useful for re-running the tool or analyzing deltas between two builds)
78 under /tmp/report/nm.out: 77 under /tmp/report/nm.out:
79 tools/binary_size/run_binary_size_analysis.py \ 78 tools/binary_size/run_binary_size_analysis.py \
80 --library out/Release/lib/libcontent_shell_content_view.so \ 79 --library out/Release/lib.unstripped/libcontent_shell_content_view.so \
81 --destdir /tmp/report 80 --destdir /tmp/report
82 81
83 Of course, there are additional options that you can see by running the tool 82 Of course, there are additional options that you can see by running the tool
84 with "--help". 83 with "--help".
85 84
86 This whole process takes about an hour on a modern (circa 2014) machine. If you 85 This whole process takes about an hour on a modern (circa 2014) machine. If you
87 have LOTS of RAM, you can use the "--jobs" argument to add more addr2line 86 have LOTS of RAM, you can use the "--jobs" argument to add more addr2line
88 workers; doing so will *greatly* reduce the processing time but will devour 87 workers; doing so will *greatly* reduce the processing time but will devour
89 system memory. If you've got the horsepower, 10 workers can thrash through the 88 system memory. If you've got the horsepower, 10 workers can thrash through the
90 binary in about 5 minutes at a cost of around 60 GB of RAM. The default number 89 binary in about 5 minutes at a cost of around 60 GB of RAM. The default number
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 143
145 -------------------------------------------------------------------------------- 144 --------------------------------------------------------------------------------
146 Feature Requests and Bug Reports 145 Feature Requests and Bug Reports
147 -------------------------------------------------------------------------------- 146 --------------------------------------------------------------------------------
148 Please file bugs and feature requests here, making sure to use the label 147 Please file bugs and feature requests here, making sure to use the label
149 "Tools-BinarySize": 148 "Tools-BinarySize":
150 https://code.google.com/p/chromium/issues/entry?labels=Tools-BinarySize 149 https://code.google.com/p/chromium/issues/entry?labels=Tools-BinarySize
151 150
152 View all open issues here: 151 View all open issues here:
153 https://code.google.com/p/chromium/issues/list?can=2&q=label:Tools-BinarySize 152 https://code.google.com/p/chromium/issues/list?can=2&q=label:Tools-BinarySize
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698