blob: 3c338672361c0496d1537a92e5d9ed773d6173a4 [file] [log] [blame]
// 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 (int i = 0; i < 10000; i++) {
counter += defaultTargetPlatform.index;
}
}, reported: true);
}
}