# Engine disk footprint Here are all the tools to help track and debug the disk size of the Flutter engine. ## Treemaps For each commit to [flutter/flutter](https://github.com/flutter/flutter) the Chromebots generate treemaps illustrating the sizes of the individual components within release builds of `libflutter.so`. The treemap is uploaded to Google Cloud Storage and linked from the [LUCI](https://ci.chromium.org/p/flutter/g/engine/console) console. To find a treemap for a given commit follow these steps: 1) go to the list of all flutter commits: 1) find the commit you want to evaluate, then click on the green checkbox to see the checks 1) find the check titled `Linux linux_android_aot_engine`, click on `details` 1) Click on `View more details on flutter-dashboard` to get access to the LUCI build page (example: ). 1) expand the section called `launch builds` 1) find the launched build named something like `Linux Production Engine Drone for ci/android_release_arm64`, click it (example ). 1) look for the build section called `log links`, click the `index.html` link under it (example: ). Treemaps can also be generated locally with the following call: ```shell flutter/ci/binary_size_treemap.sh ``` ## Benchmarks In [devicelab](https://github.com/flutter/flutter/tree/main/dev/devicelab) we run various benchmarks to track the APK/IPA sizes and various (engine) artifacts contained within. These benchmarks run for every commit to [flutter/flutter](https://github.com/flutter/flutter) and are visible on our [build dashboard](https://flutter-dashboard.appspot.com/). The most relevant benchmarks for engine size are: * APK/IPA size of Flutter Gallery * Android: `flutter_gallery_android__compile/release_size_bytes` * iOS: `flutter_gallery_ios__compile/release_size_bytes` * APK/IPA size of minimal hello_world app * Android: `hello_world_android__compile/release_size_bytes` * iOS: `hello_world_ios__compile/release_size_bytes` * Size of bundled `icudtl.dat` * Compressed in APK: `hello_world_android__compile/icudtl_compressed_bytes` * Uncompressed: `hello_world_android__compile/icudtl_uncompressed_bytes` * Size of bundled `libflutter.so` (release mode) * Compressed in APK: `hello_world_android__compile/libflutter_compressed_bytes` * Uncompressed: `hello_world_android__compile/libflutter_uncompressed_bytes` * Size of VM & isolate snapshots (data and instructions) * Compressed in APK: `hello_world_android__compile/snapshot_compressed_bytes` * Uncompressed: `hello_world_android__compile/snapshot_uncompressed_bytes` ## Comparing AOT Snapshot Sizes A detailed comparison of AOT snapshot sizes can be performed using the [instructions documented here](./benchmarks/Comparing-AOT-Snapshot-Sizes.md).