mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
lib: optimize writable stream buffer clearing
Improved the `clearBuffer` function by replacing `buffered.splice` with `ArrayPrototypeSlice`. - Eliminates O(N) shifting overhead. - Improves CPU utilization and reduces GC overhead. PR-URL: https://github.com/nodejs/node/pull/59406 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ethan Arrowood <ethan@arrowood.dev> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
1 parent
8e2076a24f
commit
d22d2fa6d4
1 file changed
+1
-1
@@ -786,7 +786,7 @@ function clearBuffer(stream, state) {
|
||||
if (i === buffered.length) {
|
||||
resetBuffer(state);
|
||||
} else if (i > 256) {
|
||||
buffered.splice(0, i);
|
||||
state[kBufferedValue] = ArrayPrototypeSlice(buffered, i);
|
||||
state.bufferedIndex = 0;
|
||||
} else {
|
||||
state.bufferedIndex = i;
|
||||
|
||||
Reference in new issue
Block a user