flutter/docs/engine/Engine-disk-footprint.md
Kate Lovett 1fbcbb73a0
[wiki migration] Leftover wiki pages and links (#148989)
This is waiting on 
- https://github.com/flutter/flutter/pull/148777
- https://github.com/flutter/flutter/pull/148790

After this PR lands, there will likely be 1-2 more clean up PRs, after which the migration will be done!

---

This moves the remaining wiki pages 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 team labels to the label bot for future PRs.

Changes to the content were only updating cross links, or links to refer to the main branch rather than master.
Remaining links to the wiki will be updated once all other pages have finished moving, they still work in the meantime.

Part of https://github.com/flutter/flutter/issues/145009
2024-05-28 15:12:10 +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.