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

Unified Diff: pkg/barback/lib/src/package_graph.dart

Issue 36213002: Only run at most 10 transformers at once in barback. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Bug fixes Created 7 years, 2 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/barback/lib/src/package_graph.dart
diff --git a/pkg/barback/lib/src/package_graph.dart b/pkg/barback/lib/src/package_graph.dart
index 68753f652f88cfd960caf244ec032cb59c8a178c..dcc3d7f5bb1a9eb9bfc8215929e5e728500dc1d9 100644
--- a/pkg/barback/lib/src/package_graph.dart
+++ b/pkg/barback/lib/src/package_graph.dart
@@ -14,6 +14,7 @@ import 'barback_logger.dart';
import 'build_result.dart';
import 'errors.dart';
import 'package_provider.dart';
+import 'pool.dart';
import 'transformer.dart';
import 'utils.dart';
@@ -65,6 +66,13 @@ class PackageGraph {
/// [Future] returned by [getAllAssets].
var _lastUnexpectedError;
+ // TODO(nweiz): Allow transformers to declare themselves as "lightweight" or
+ // "heavyweight" and adjust their restrictions appropriately. Simple
+ // transformers may be very efficient to run in parallel, whereas dart2js uses
+ // a lot of memory and should be run more sequentially.
+ /// A pool that controls how many transformers may be applied at once.
+ final Pool transformPool = new Pool(10);
+
/// Creates a new [PackageGraph] that will transform assets in all packages
/// made available by [provider].
PackageGraph(this.provider, {BarbackLogger logger})

Powered by Google App Engine
This is Rietveld 408576698