stream: improve read() performance
PR-URL: https://github.com/nodejs/node/pull/28961 Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
4c9fb0b706
commit
0b5b81c82a
@ -3,10 +3,6 @@
|
|||||||
const { Buffer } = require('buffer');
|
const { Buffer } = require('buffer');
|
||||||
const { inspect } = require('internal/util/inspect');
|
const { inspect } = require('internal/util/inspect');
|
||||||
|
|
||||||
function copyBuffer(src, target, offset) {
|
|
||||||
Buffer.prototype.copy.call(src, target, offset);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = class BufferList {
|
module.exports = class BufferList {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.head = null;
|
this.head = null;
|
||||||
@ -66,7 +62,7 @@ module.exports = class BufferList {
|
|||||||
var p = this.head;
|
var p = this.head;
|
||||||
var i = 0;
|
var i = 0;
|
||||||
while (p) {
|
while (p) {
|
||||||
copyBuffer(p.data, ret, i);
|
ret.set(p.data, i);
|
||||||
i += p.data.length;
|
i += p.data.length;
|
||||||
p = p.next;
|
p = p.next;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user