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'));