From 4b44db4ed2ab4fa8670495dee61d27159d03b7b6 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Tue, 12 May 2026 23:19:59 -0700 Subject: [PATCH] stream: optimize single-slot push queue drain Avoid allocating a new result array when PushQueue drains a single queued slot. Return that slot directly and keep the existing flattening path for multiple queued slots. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 --- lib/internal/streams/iter/push.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/internal/streams/iter/push.js b/lib/internal/streams/iter/push.js index 4c0b3240d45fdb..36da35912c951d 100644 --- a/lib/internal/streams/iter/push.js +++ b/lib/internal/streams/iter/push.js @@ -448,6 +448,10 @@ class PushQueue { // =========================================================================== #drain() { + if (this.#slots.length === 1) { + return this.#slots.shift(); + } + const result = []; for (let i = 0; i < this.#slots.length; i++) { const slot = this.#slots.get(i);