Files
sdk/pkg/kernel/test/verify_bench.dart
T
Johnni Winther 34fb48bb8a [kernel,front_end] Migrate first wave of pkg/kernel and pkg/front_end
Migrates libraries dependent only on already migrated libraries.

Change-Id: I0e85ee8dbc2afce031b92e0009e71c206a55af28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179502
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-01-18 15:40:21 +00:00

39 lines
1.1 KiB
Dart

// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
import 'dart:io';
import 'package:kernel/kernel.dart';
import 'package:kernel/verifier.dart';
final String usage = '''
Usage: verify_bench FILE.dill
Measures the time it takes to run kernel verifier on the given component.
''';
main(List<String> args) {
if (args.length != 1) {
print(usage);
exit(1);
}
var component = loadComponentFromBinary(args[0]);
var watch = new Stopwatch()..start();
verifyComponent(component);
print('Cold: ${watch.elapsedMilliseconds} ms');
const int warmUpTrials = 20;
for (int i = 0; i < warmUpTrials; ++i) {
verifyComponent(component);
}
watch.reset();
const int numberOfTrials = 100;
for (int i = 0; i < numberOfTrials; ++i) {
verifyComponent(component);
}
double millisecondsPerRun = watch.elapsedMilliseconds / numberOfTrials;
print('Hot: $millisecondsPerRun ms');
}