flutter/dev/benchmarks/microbenchmarks
William Hesse 4d0c487f6d
Fix divide-by-zero crash in animation_bench benchmark (#137539)
If the benchmark runs out of time before it closes the drawer it is animating, it tries to divide by zero when computing the time per frame.

Don't report time per frame for activities with zero frames. This likely only happens for the close frame action, but guards are added to all time per frame computations in this benchmark.
2023-10-31 15:10:53 +00:00
..
android Bump gradle heap size limit in *everywhere* (#134665) 2023-09-13 10:36:24 -07:00
ios iOS info.plist template: make UIViewControllerBasedStatusBar to be true (#128970) 2023-06-20 18:11:18 +00:00
lib Fix divide-by-zero crash in animation_bench benchmark (#137539) 2023-10-31 15:10:53 +00:00
money_asset_manifest.json Add asset manifest parsing benchmark (#112836) 2022-10-07 13:39:35 +00:00
pubspec.yaml Add dependency on leak_tracker to flutter_test. (#137069) 2023-10-25 02:45:26 +00:00
README.md

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 any of these:

flutter run --release lib/gestures/velocity_tracker_bench.dart
flutter run --release lib/gestures/gesture_detector_bench.dart
flutter run --release lib/stocks/animation_bench.dart
flutter run --release lib/stocks/build_bench.dart
flutter run --release lib/stocks/layout_bench.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 of an existing microbenchmarks will effectively remove the old benchmark and create a new one, losing the historical data associated with the old benchmark in the process.