Chromium Code Reviews| 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(); |