From 4d59bf203c36ecf66c51b518799c8828c0eab797 Mon Sep 17 00:00:00 2001 From: tsctx <91457664+tsctx@users.noreply.github.com> Date: Fri, 15 Mar 2024 01:40:59 +0900 Subject: [PATCH] perf: optimize collectASequenceOfBytes (#2958) --- lib/web/fetch/formdata-parser.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/web/fetch/formdata-parser.js b/lib/web/fetch/formdata-parser.js index b889fbf898d..843a6ce518f 100644 --- a/lib/web/fetch/formdata-parser.js +++ b/lib/web/fetch/formdata-parser.js @@ -444,15 +444,13 @@ function parseMultipartFormDataName (input, position) { * @param {{ position: number }} position */ function collectASequenceOfBytes (condition, input, position) { - const result = [] + let start = position.position - while (position.position < input.length && condition(input[position.position])) { - result.push(input[position.position]) - - position.position++ + while (start < input.length && condition(input[start])) { + ++start } - return Buffer.from(result, result.length) + return input.subarray(position.position, (position.position = start)) } /**