blob: a30fc0b15a9ac2dcacd77c7495bd1e19f17e804b [file] [log] [blame] [view]
# 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:
```sh
flutter run -d $DEVICE_ID --profile lib/benchmark_collection.dart
```
To run a subset of tests:
```shell
flutter run -d $DEVICE_ID --profile lib/benchmark_collection.dart --dart-define=tests=foundation/change_notifier_bench.dart,language/sync_star_bench.dart
```
To specify a seed value for shuffling tests:
```shell
flutter run -d $DEVICE_ID --profile lib/benchmark_collection.dart --dart-define=seed=12345
```
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.