Added benchmark for debugBuildProfileEnabledUserWidgets (#101444)

This commit is contained in:
gaaclarke 2022-07-26 19:42:06 -07:00 committed by GitHub
parent 1e69683688
commit d98297a2f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 13 deletions

View file

@ -11,7 +11,7 @@ import '../common.dart';
const Duration kBenchmarkTime = Duration(seconds: 15);
Future<void> main() async {
Future<List<double>> runBuildBenchmark() async {
assert(false, "Don't run benchmarks in debug mode! Use 'flutter run --release'.");
stock_data.StockData.actuallyFetchData = false;
@ -52,11 +52,14 @@ Future<void> main() async {
values.add(watch.elapsedMicroseconds.toDouble());
}
});
return values;
}
Future<void> main() async {
final BenchmarkResultPrinter printer = BenchmarkResultPrinter();
printer.addResultStatistics(
description: 'Stock build',
values: values,
values: await runBuildBenchmark(),
unit: 'µs per iteration',
name: 'stock_build_iteration',
);

View file

@ -0,0 +1,21 @@
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import '../common.dart';
import 'build_bench.dart';
Future<void> main() async {
debugProfileBuildsEnabledUserWidgets = true;
final BenchmarkResultPrinter printer = BenchmarkResultPrinter();
printer.addResultStatistics(
description: 'Stock build User Widgets Profiled',
values: await runBuildBenchmark(),
unit: 'µs per iteration',
name: 'stock_build_iteration_user_widgets_profiled',
);
printer.printToStdout();
}

View file

@ -49,23 +49,24 @@ TaskFunction createMicrobenchmarkTask() {
}
final Map<String, double> allResults = <String, double>{
...await runMicrobench('lib/stocks/layout_bench.dart'),
...await runMicrobench('lib/stocks/build_bench.dart'),
...await runMicrobench('lib/foundation/all_elements_bench.dart'),
...await runMicrobench('lib/foundation/change_notifier_bench.dart'),
...await runMicrobench('lib/foundation/clamp.dart'),
...await runMicrobench('lib/foundation/platform_asset_bundle.dart'),
...await runMicrobench('lib/foundation/standard_message_codec_bench.dart'),
...await runMicrobench('lib/foundation/standard_method_codec_bench.dart'),
...await runMicrobench('lib/foundation/timeline_bench.dart'),
...await runMicrobench('lib/geometry/matrix_utils_transform_bench.dart'),
...await runMicrobench('lib/geometry/rrect_contains_bench.dart'),
...await runMicrobench('lib/gestures/velocity_tracker_bench.dart'),
...await runMicrobench('lib/gestures/gesture_detector_bench.dart'),
...await runMicrobench('lib/stocks/animation_bench.dart'),
...await runMicrobench('lib/gestures/velocity_tracker_bench.dart'),
...await runMicrobench('lib/language/compute_bench.dart'),
...await runMicrobench('lib/language/sync_star_bench.dart'),
...await runMicrobench('lib/language/sync_star_semantics_bench.dart'),
...await runMicrobench('lib/foundation/all_elements_bench.dart'),
...await runMicrobench('lib/foundation/clamp.dart'),
...await runMicrobench('lib/foundation/change_notifier_bench.dart'),
...await runMicrobench('lib/foundation/platform_asset_bundle.dart'),
...await runMicrobench('lib/foundation/standard_method_codec_bench.dart'),
...await runMicrobench('lib/foundation/standard_message_codec_bench.dart'),
...await runMicrobench('lib/foundation/timeline_bench.dart'),
...await runMicrobench('lib/stocks/animation_bench.dart'),
...await runMicrobench('lib/stocks/build_bench_profiled.dart'),
...await runMicrobench('lib/stocks/build_bench.dart'),
...await runMicrobench('lib/stocks/layout_bench.dart'),
...await runMicrobench('lib/ui/image_bench.dart'),
};