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

Unified Diff: pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart

Issue 2917183003: update the analyzer and analysis server perf tags (Closed)
Patch Set: Created 3 years, 6 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/lib/src/dart/analysis/library_analyzer.dart
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
index 4987624e24c485b77471c59be6a9b6a5434db4c8..8f5e6ab1cddd121a2f479c678ee1f7fb33df3f72 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_analyzer.dart
@@ -60,13 +60,21 @@ class LibraryAnalyzer {
* Compute analysis results for all units of the library.
*/
Map<FileState, UnitAnalysisResult> analyze() {
+ return PerformanceStatistics.analysis.makeCurrentWhile(() {
+ return _analyze();
+ });
+ }
+
+ Map<FileState, UnitAnalysisResult> _analyze() {
Map<FileState, CompilationUnit> units = {};
// Parse all files.
- units[_library] = _parse(_library);
- for (FileState part in _library.partedFiles) {
- units[part] = _parse(part);
- }
+ PerformanceStatistics.parse.makeCurrentWhile(() {
+ units[_library] = _parse(_library);
scheglov 2017/06/04 00:30:44 Most of the work of _parse() is in FileState.parse
devoncarew 2017/06/04 01:45:52 I moved the instrumentation there.
+ for (FileState part in _library.partedFiles) {
+ units[part] = _parse(part);
+ }
+ });
// Resolve URIs in directives to corresponding sources.
units.forEach((file, unit) {
@@ -92,32 +100,38 @@ class LibraryAnalyzer {
_computeConstants();
- units.forEach((file, unit) {
- _computeVerifyErrors(file, unit);
+ PerformanceStatistics.errors.makeCurrentWhile(() {
+ units.forEach((file, unit) {
+ _computeVerifyErrors(file, unit);
+ });
});
if (_analysisOptions.hint) {
- units.forEach((file, unit) {
- {
- var visitor = new GatherUsedLocalElementsVisitor(_libraryElement);
- unit.accept(visitor);
- _usedLocalElementsList.add(visitor.usedElements);
- }
- {
- var visitor =
- new GatherUsedImportedElementsVisitor(_libraryElement);
- unit.accept(visitor);
- _usedImportedElementsList.add(visitor.usedElements);
- }
- });
- units.forEach((file, unit) {
- _computeHints(file, unit);
+ PerformanceStatistics.hints.makeCurrentWhile(() {
+ units.forEach((file, unit) {
+ {
+ var visitor = new GatherUsedLocalElementsVisitor(_libraryElement);
+ unit.accept(visitor);
+ _usedLocalElementsList.add(visitor.usedElements);
+ }
+ {
+ var visitor =
+ new GatherUsedImportedElementsVisitor(_libraryElement);
+ unit.accept(visitor);
+ _usedImportedElementsList.add(visitor.usedElements);
+ }
+ });
+ units.forEach((file, unit) {
+ _computeHints(file, unit);
+ });
});
}
if (_analysisOptions.lint) {
- units.forEach((file, unit) {
- _computeLints(file, unit);
+ PerformanceStatistics.lints.makeCurrentWhile(() {
+ units.forEach((file, unit) {
+ _computeLints(file, unit);
+ });
});
}
} finally {

Powered by Google App Engine
This is Rietveld 408576698