// 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/foundation.dart'; import 'recorder.dart'; /// Benchmarks the performance of the [defaultTargetPlatform] getter. /// /// The getter relies on the expensive `window.matchMedia` and if not properly /// cached can cause performance issues. class BenchDefaultTargetPlatform extends RawRecorder { BenchDefaultTargetPlatform() : super(name: benchmarkName); static const String benchmarkName = 'default_target_platform'; /// A dummy counter just to make sure the compiler doesn't inline the /// benchmark and make it a no-op. int counter = 0; @override void body(Profile profile) { profile.record('runtime', () { for (var i = 0; i < 10000; i++) { counter += defaultTargetPlatform.index; } }, reported: true); } }