flutter/dev/benchmarks/microbenchmarks
Gray Mackall cad7418f0a
Roll packages manually (#155786)
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one issue. An issue is not required if the PR fixes something trivial like a typo.*

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2024-09-27 00:49:08 +00:00
..
android Reland "Update template/test compileSdk, targetSdk, ndk versions" (#153795) 2024-08-21 18:27:00 +00:00
ios Migrate Xcode projects last version checks to Xcode 15.1 (#140256) 2024-01-03 23:05:46 +00:00
lib Address frame policy benchmark flakes (#155130) 2024-09-12 23:19:15 +00:00
money_asset_manifest.json Add asset manifest parsing benchmark (#112836) 2022-10-07 13:39:35 +00:00
pubspec.yaml Roll packages manually (#155786) 2024-09-27 00:49:08 +00:00
README.md Improve microbenchmarks a smidge (#154461) 2024-09-03 09:10:13 -07:00

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

To run a subset of tests:

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:

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.