Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: pkg/analyzer/bin/analyzer.dart

Issue 227533005: Add new performance option (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Bug fixes Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/bin/analyzer.dart
diff --git a/pkg/analyzer/bin/analyzer.dart b/pkg/analyzer/bin/analyzer.dart
index d1a22d915eac99001ba3928ca3d9f51c47b817e3..75869d6d4571b51cf0321ba395a7124b9e7f406c 100644
--- a/pkg/analyzer/bin/analyzer.dart
+++ b/pkg/analyzer/bin/analyzer.dart
@@ -24,13 +24,14 @@ void main(args) {
CommandLineOptions options = CommandLineOptions.parse(args);
return _runAnalyzer(options, false);
});
+ } else if (options.perf) {
scheglov 2014/04/07 19:20:30 I don't understand this. Do nothing when --perf is
Brian Wilkerson 2014/04/07 20:05:17 Good catch! I had originally though I'd need to fo
+
} else {
_runAnalyzer(options, false);
}
}
_runAnalyzer(CommandLineOptions options, [bool async = true]) {
- int startTime = JavaSystem.currentTimeMillis();
if (!options.machineFormat) {
stdout.writeln("Analyzing ${options.sourceFiles}...");
}
@@ -50,6 +51,23 @@ _runAnalyzer(CommandLineOptions options, [bool async = true]) {
return ErrorSeverity.ERROR;
}
// do analyze
+ if (options.warmPerf) {
+ int startTime = JavaSystem.currentTimeMillis();
+ AnalyzerImpl analyzer = new AnalyzerImpl(sourcePath, options, startTime);
+ analyzer.analyzeSync(printMode: 2);
+
+ for (int i = 0; i < 8; i++) {
+ startTime = JavaSystem.currentTimeMillis();
+ analyzer = new AnalyzerImpl(sourcePath, options, startTime);
+ analyzer.analyzeSync(printMode: 0);
+ }
+
+ PerformanceStatistics.reset();
+ startTime = JavaSystem.currentTimeMillis();
+ analyzer = new AnalyzerImpl(sourcePath, options, startTime);
+ return analyzer.analyzeSync();
+ }
+ int startTime = JavaSystem.currentTimeMillis();
AnalyzerImpl analyzer = new AnalyzerImpl(sourcePath, options, startTime);
if (async) {
return analyzer.analyzeAsync();

Powered by Google App Engine
This is Rietveld 408576698