These tools currently focus on supporting Android. They somewhat work with Linux builds. As for Windows, some great tools already exist and are documented here:
There is also a dedicated mailing-list for binary size discussions:
Bugs and feature requests are tracked in issues.chromium.org under:
Per-Milestone Binary Size Breakdowns:
Guide to dealing with chrome-perf size alerts:
.apk
without having the build directory available.Test suite="resource_sizes ($APK)"
.Collects, archives, and analyzes Chrome's binary size on Android. See //tools/binary_size/libsupersize/README.md.
Determines the cause of binary size bloat between two commits. Works for Android and Linux (although Linux symbol diffs have issues, as noted below).
resource_size.py
and supersize
.# Build and diff trichrome_bundle HEAD^ and HEAD. tools/binary_size/diagnose_bloat.py HEAD -v # Build and diff trichrome_google_bundle HEAD^ and HEAD. tools/binary_size/diagnose_bloat.py HEAD --enable-chrome-android-internal -v # Build and diff trichrome_google_64_32_bundle HEAD^ and HEAD. tools/binary_size/diagnose_bloat.py HEAD --enable-chrome-android-internal --arm64 -v # Build and diff trichrome_bundle HEAD^ and HEAD without is_official_build. tools/binary_size/diagnose_bloat.py HEAD --gn-args="is_official_build=false" -v # Build and diff all contiguous revs in range BEFORE_REV..AFTER_REV for src/v8. tools/binary_size/diagnose_bloat.py AFTER_REV --reference-rev BEFORE_REV --subrepo v8 --all -v # Build and diff system_webview_apk HEAD^ and HEAD with arsc obfucstion disabled. tools/binary_size/diagnose_bloat.py HEAD --target system_webview_apk --gn-args enable_arsc_obfuscation=false # Display detailed usage info (there are many options). tools/binary_size/diagnose_bloat.py -h