Unverified Commit a7790d8e authored by gaaclarke's avatar gaaclarke Committed by GitHub

Added a microbenchmark for Timeline events. (#98763)

parent 79d435d0
// 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 'dart:developer';
import '../common.dart';
const int _kNumIterations = 10000;
void main() {
assert(false,
"Don't run benchmarks in checked mode! Use 'flutter run --release'.");
final BenchmarkResultPrinter printer = BenchmarkResultPrinter();
final Stopwatch watch = Stopwatch();
watch.start();
for (int i = 0; i < _kNumIterations; i += 1) {
Timeline.startSync('foo');
Timeline.finishSync();
}
watch.stop();
printer.addResult(
description: 'timeline events without arguments',
value: watch.elapsedMicroseconds.toDouble() / _kNumIterations,
unit: 'us per iteration',
name: 'timeline_without_arguments',
);
watch.reset();
watch.start();
for (int i = 0; i < _kNumIterations; i += 1) {
Timeline.startSync('foo', arguments: <String, dynamic>{
'int': 1234,
'double': 0.3,
'list': <int>[1, 2, 3, 4],
'map': <String, dynamic>{'map': true},
'bool': false,
});
Timeline.finishSync();
}
watch.stop();
printer.addResult(
description: 'timeline events with arguments',
value: watch.elapsedMicroseconds.toDouble() / _kNumIterations,
unit: 'us per iteration',
name: 'timeline_with_arguments',
);
printer.printToStdout();
}
......@@ -60,6 +60,7 @@ TaskFunction createMicrobenchmarkTask() {
...await _runMicrobench('lib/language/sync_star_semantics_bench.dart'),
...await _runMicrobench('lib/foundation/all_elements_bench.dart'),
...await _runMicrobench('lib/foundation/change_notifier_bench.dart'),
...await _runMicrobench('lib/foundation/timeline_bench.dart'),
};
return TaskResult.success(allResults,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment