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
.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:
flutter_gallery_android__compile/release_size_bytes
flutter_gallery_ios__compile/release_size_bytes
hello_world_android__compile/release_size_bytes
hello_world_ios__compile/release_size_bytes
icudtl.dat
hello_world_android__compile/icudtl_compressed_bytes
hello_world_android__compile/icudtl_uncompressed_bytes
libflutter.so
(release mode)hello_world_android__compile/libflutter_compressed_bytes
hello_world_android__compile/libflutter_uncompressed_bytes
hello_world_android__compile/snapshot_compressed_bytes
hello_world_android__compile/snapshot_uncompressed_bytes
A detailed comparison of AOT snapshot sizes can be performed using the instructions documented here.