From 03dfebddc97e2b1ac636e8215d54dedc894ba641 Mon Sep 17 00:00:00 2001 From: "auto-submit[bot]" <98614782+auto-submit[bot]@users.noreply.github.com> Date: Tue, 12 Mar 2024 21:26:26 +0000 Subject: [PATCH] Reverts "Add a microbenchmark for text intrinsic height layout (#145007)" (#145029) Reverts: flutter/flutter#145007 Initiated by: LongCatIsLooong Reason for reverting: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_android%20microbenchmarks/15561/overview Original PR Author: LongCatIsLooong Reviewed By: {goderbauer} This change reverts the following previous change: For https://github.com/flutter/flutter/pull/144577. There's no promise that the performance will be great when `IntrinsicHeight/IntrinsicWidth` is used extensively but it's not that uncommon of a widget. --- .../lib/layout/text_intrinsic_bench.dart | 62 ------------------- dev/devicelab/lib/tasks/microbenchmarks.dart | 1 - 2 files changed, 63 deletions(-) delete mode 100644 dev/benchmarks/microbenchmarks/lib/layout/text_intrinsic_bench.dart diff --git a/dev/benchmarks/microbenchmarks/lib/layout/text_intrinsic_bench.dart b/dev/benchmarks/microbenchmarks/lib/layout/text_intrinsic_bench.dart deleted file mode 100644 index 3d1d73522e..0000000000 --- a/dev/benchmarks/microbenchmarks/lib/layout/text_intrinsic_bench.dart +++ /dev/null @@ -1,62 +0,0 @@ -// 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/rendering.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import '../common.dart'; - -const Duration kBenchmarkTime = Duration(seconds: 15); - -// Use an Align to loosen the constraints. -final Widget intrinsicTextHeight = Align( - child: IntrinsicHeight( - child: Text('A' * 100), - ), -); - -Future main() async { - assert(false, "Don't run benchmarks in debug mode! Use 'flutter run --release'."); - - // We control the framePolicy below to prevent us from scheduling frames in - // the engine, so that the engine does not interfere with our timings. - final LiveTestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized() as LiveTestWidgetsFlutterBinding; - - final Stopwatch watch = Stopwatch(); - int iterations = 0; - - await benchmarkWidgets((WidgetTester tester) async { - runApp(intrinsicTextHeight); - - final TestViewConfiguration big = TestViewConfiguration.fromView( - size: const Size(360.0, 640.0), - view: tester.view, - ); - final TestViewConfiguration small = TestViewConfiguration.fromView( - size: const Size(100.0, 640.0), - view: tester.view, - ); - final RenderView renderView = WidgetsBinding.instance.renderViews.single; - binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.benchmark; - - watch.start(); - while (watch.elapsed < kBenchmarkTime) { - renderView.configuration = iterations.isEven ? big : small; - await tester.pumpBenchmark(Duration(milliseconds: iterations * 16)); - iterations += 1; - } - watch.stop(); - }); - - - final BenchmarkResultPrinter printer = BenchmarkResultPrinter(); - printer.addResult( - description: 'Text intrinsic height', - value: watch.elapsedMicroseconds / iterations, - unit: 'µs per iteration', - name: 'text_intrinsic_height_iteration', - ); - printer.printToStdout(); -} diff --git a/dev/devicelab/lib/tasks/microbenchmarks.dart b/dev/devicelab/lib/tasks/microbenchmarks.dart index 8b7a659a34..6bd01aac1d 100644 --- a/dev/devicelab/lib/tasks/microbenchmarks.dart +++ b/dev/devicelab/lib/tasks/microbenchmarks.dart @@ -74,7 +74,6 @@ TaskFunction createMicrobenchmarkTask({ ...await runMicrobench('lib/stocks/build_bench.dart'), ...await runMicrobench('lib/stocks/layout_bench.dart'), ...await runMicrobench('lib/ui/image_bench.dart'), - ...await runMicrobench('lib/layout/text_intrinsic_bench.dart'), }; return TaskResult.success(allResults,