fix `await null` in forEach Benchmark goes from ~54ms to ~33ms
diff --git a/pkgs/pool/CHANGELOG.md b/pkgs/pool/CHANGELOG.md index 0c3d314..c680dd2 100644 --- a/pkgs/pool/CHANGELOG.md +++ b/pkgs/pool/CHANGELOG.md
@@ -1,3 +1,8 @@ +## 1.4.1 + +* `forEach`: Avoid `await null` if the `Stream` is not paused. + Improves trivial benchmark by 40%. + ## 1.4.0 * Add `forEach` to `Pool` to support efficient async processing of an
diff --git a/pkgs/pool/lib/pool.dart b/pkgs/pool/lib/pool.dart index 779300e..12dd5e1 100644 --- a/pkgs/pool/lib/pool.dart +++ b/pkgs/pool/lib/pool.dart
@@ -170,7 +170,9 @@ _resetTimer(); - await resumeCompleter?.future; + if (resumeCompleter != null) { + await resumeCompleter.future; + } if (cancelPending) { break;
diff --git a/pkgs/pool/pubspec.yaml b/pkgs/pool/pubspec.yaml index 35fb62d..ebb05d9 100644 --- a/pkgs/pool/pubspec.yaml +++ b/pkgs/pool/pubspec.yaml
@@ -1,5 +1,5 @@ name: pool -version: 1.4.0 +version: 1.4.1-dev description: >- Manage a finite pool of resources.