
**Three things** Re-lands #154374 New: fix `platform_channels_benchmarks` to print the "done" key. Updated notes for the microbenchmark parser. There are no other users of `microbenchmarks.readJsonResults`. Re-Re-land: Uninstall microbenchmarks before running them. Flakes in https://github.com/flutter/flutter/issues/153828 stem from adb saying the app isn't installed, but then failing to install wtih -r. Several other tests uninstall the app before trying to run it. Previous fix called uninstall between tests, but iOS takes 12 to 13 seconds to perform uninstall / install, which timed out the test. Just uninstall the one time since we only care about any lingering apps with different keys. Potential solution https://github.com/flutter/flutter/issues/153828 Re-land Make things go fast Instead of installing 21 different compilations of the same app to get results; compile and run them together. Locally on Mac+iOS, this should takes ~3 minutes instead of ~15 minutes.
microbenchmarks
To run these benchmarks on a device, first run flutter logs
in one
window to see the device logs, then, in a different window, run:
flutter run -d $DEVICE_ID --profile lib/benchmark_collection.dart
The results should be in the device logs.
Avoid changing names of the benchmarks
Each microbenchmark is identified by a name, for example,
"catmullrom_transform_iteration". Changing the name passed to BenchmarkResultPrinter.addResult
will effectively remove the old benchmark and create a new one,
losing the historical data associated with the old benchmark in the process.