Add rrect contains microbenchmark (#30985)
diff --git a/dev/benchmarks/microbenchmarks/lib/geometry/rrect_contains_bench.dart b/dev/benchmarks/microbenchmarks/lib/geometry/rrect_contains_bench.dart new file mode 100644 index 0000000..810a9a4 --- /dev/null +++ b/dev/benchmarks/microbenchmarks/lib/geometry/rrect_contains_bench.dart
@@ -0,0 +1,29 @@ +// Copyright 2019 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 'dart:ui'; + +import '../common.dart'; + +const int _kNumIters = 10000; + +void main() { + final Stopwatch watch = Stopwatch(); + print('RRect contains benchmark...'); + watch.start(); + for (int i = 0; i < _kNumIters; i += 1) { + final RRect outter = RRect.fromLTRBR(10, 10, 20, 20, const Radius.circular(2.0)); + outter.contains(const Offset(15, 15)); + } + watch.stop(); + + final BenchmarkResultPrinter printer = BenchmarkResultPrinter(); + printer.addResult( + description: 'RRect contains', + value: watch.elapsedMicroseconds / _kNumIters, + unit: 'µs per iteration', + name: 'rrect_contains_iteration', + ); + printer.printToStdout(); +}
diff --git a/dev/devicelab/lib/tasks/microbenchmarks.dart b/dev/devicelab/lib/tasks/microbenchmarks.dart index c4dd4ef..e1128ef 100644 --- a/dev/devicelab/lib/tasks/microbenchmarks.dart +++ b/dev/devicelab/lib/tasks/microbenchmarks.dart
@@ -51,6 +51,7 @@ final Map<String, double> allResults = <String, double>{}; allResults.addAll(await _runMicrobench('lib/stocks/layout_bench.dart')); allResults.addAll(await _runMicrobench('lib/stocks/build_bench.dart')); + allResults.addAll(await _runMicrobench('lib/geometry/rrect_contains_bench.dart')); allResults.addAll(await _runMicrobench('lib/gestures/velocity_tracker_bench.dart')); allResults.addAll(await _runMicrobench('lib/stocks/animation_bench.dart'));