flutter/docs/engine/Engine-disk-footprint.md
Kate Lovett 722c8d62fd
[wiki migration] Engine team pages (#148696)
This sorts the wiki pages owned by the Engine team in the docs/ directory as planned in [flutter.dev/go/migrate-flutter-wiki-spreadsheet](https://docs.google.com/spreadsheets/d/1x65189ZBdNiLRygpUYoU08pwvXD4M-Z157c6pm8deGI/edit?usp=sharing) 

It also adds the engine and team-engine labels to the bot for future PRs.

Changes to the content were only updating cross links. The remaining wiki links will be updated after the rest of the pages are relocated, the original wiki links still work in the meantime.

Part of https://github.com/flutter/flutter/issues/145009
2024-05-20 23:40:42 +00:00

2.3 KiB

Treemaps

For each commit to flutter/engine 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 console: Select a "Linux aot" build and search for "Open Treemap".

Alternatively, a link to a treemap can be constructed as follows:

https://storage.googleapis.com/flutter_infra_release/flutter/<REVISION>/<VARIANT>/sizes/index.html where:

  • <REVISION> is the git hash from flutter/engine for which you want the treemap, and
  • <VARIANT> can be any android release build, e.g. android-arm-release or android-arm64-release.

Benchmarks

In 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 and are visible on our build dashboard. 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.