From 53e467db24310a09772cd71fb6616239e950dd72 Mon Sep 17 00:00:00 2001 From: Brian White Date: Tue, 6 Aug 2019 00:57:46 -0400 Subject: stream: improve read() performance more MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28989 Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Luigi Pinca Reviewed-By: Michaƫl Zasso Reviewed-By: Trivikram Kamat --- lib/internal/streams/buffer_list.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/internal/streams/buffer_list.js b/lib/internal/streams/buffer_list.js index 9dbf6f6769..36777ed82d 100644 --- a/lib/internal/streams/buffer_list.js +++ b/lib/internal/streams/buffer_list.js @@ -139,7 +139,10 @@ module.exports = class BufferList { while (p = p.next) { const buf = p.data; const nb = (n > buf.length ? buf.length : n); - buf.copy(ret, ret.length - n, 0, nb); + if (nb === buf.length) + ret.set(buf, ret.length - n); + else + ret.set(new Uint8Array(buf.buffer, buf.byteOffset, nb), ret.length - n); n -= nb; if (n === 0) { if (nb === buf.length) { -- cgit v1.2.3