Binary Size Metrics

This document lists metrics used to track binary size.

Metrics for Desktop


  • Alerts are sheriffed as part of the main perf sherif rotation.
  • Alerts generally fire for ~100kb jumps.

Metrics for Android

For Googlers, more information available at go/chrome-apk-size.

  • Sizes are collected by //build/android/
  • How to analyze Android binary size discussed in
  • Sizes for ChromePublic.apk, ChromeModernPublic.apk, MonochromePublic.apk, SystemWebview.apk are tracked.
    • But only MonochromePublic.apk is actively monitored.
  • We care most about on-disk size (for users with small device storage)
    • But also care about patch size (so that browser updates get applied)

Normalized APK Size

  • Telemetry Graph
  • Monitored by Binary Size Sheriffs.
    • Alerts fire for changes of 16kb or more.
  • Computed as:
    • The size of an APK
    • With all native code as if it were stored uncompressed.
    • With all dex code as if it were stored compressed and also extracted.
    • With all translations as if they were not missing (estimates size of missing translations based on size of english strings).
      • Without translation-normalization, translation dumps cause jumps.

Native Code Size Metrics

  • Telemetry Graph
  • File size of
  • Code vs data sections (.text vs .data + .rodata)

Java Code Size Metrics

  • Telemetry Graph
  • File size of classes.dex
  • “Dex”: Counts of the number of fields, methods, strings, types.
  • “DexCache”: The number of bytes of RAM required to load our dex file (computed from counts)

Breakdown Metrics

  • Telemetry Graph
  • Compressed size of each apk component.
  • The sum of these equals APK Size (which can be found under “Install Size Metrics”: “APK Size”)

Install Metrics

  • Telemetry Graph
  • Estimated installed size: How much disk is required to install Chrome on a device.
    • This is just an estimate, since actual size depends on Android version (e.g. Dex overhead is very different for pre-L vs L+).
    • Does not include disk used up by profile, etc.
    • We believe it to be fairly accurate for all L+ devices (less space is required for Dalvik runtime pre-L).
  • The sum of these equals Estimated installed size.

Transfer Size Metrics

  • Deflated apk size:
    • Telemetry Graph
    • Only relevant for non-patch updates of Chrome (new installs, or manual app updates)
  • Patch Size:

Uncompressed Metrics

  • Telemetry Graph
  • Uncompressed size of classes.dex, locale .pak files, etc
  • Reported only for things that are compressed within the .apk