mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
33717e010a
BUG= R=sra@google.com Review-Url: https://codereview.chromium.org/2746333008 .
44 lines
1.3 KiB
Dart
44 lines
1.3 KiB
Dart
// Copyright (c) 2014, 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.
|
|
|
|
library dart2js.stress;
|
|
|
|
import 'package:compiler/src/dart2js.dart' as dart2js;
|
|
import 'dart:io' show Platform;
|
|
|
|
const ITERATIONS_FLAG_PREFIX = "--iterations=";
|
|
void main(List<String> args) {
|
|
Stopwatch sw = new Stopwatch();
|
|
int count = 0;
|
|
int maxCount = null;
|
|
if (args.isNotEmpty && args[0].startsWith(ITERATIONS_FLAG_PREFIX)) {
|
|
maxCount = int.parse(args[0].substring(ITERATIONS_FLAG_PREFIX.length));
|
|
args = args.sublist(1);
|
|
}
|
|
if (maxCount == null) {
|
|
print("Running indefinitely.\n"
|
|
"Use '$ITERATIONS_FLAG_PREFIX<count>' to set a repetition count"
|
|
" (as first flag).");
|
|
}
|
|
args = [
|
|
"--suppress-warnings",
|
|
"--suppress-hints",
|
|
"--library-root="
|
|
"${Platform.script.resolve('../../../sdk').toFilePath()}"
|
|
]..addAll(args);
|
|
void iterate() {
|
|
count++;
|
|
sw.reset();
|
|
sw.start();
|
|
dart2js.internalMain(args).then((_) {
|
|
print("$count: ${sw.elapsedMilliseconds}ms");
|
|
}).then((_) {
|
|
if (maxCount == null || count < maxCount) {
|
|
iterate();
|
|
}
|
|
});
|
|
}
|
|
|
|
iterate();
|
|
}
|