mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
87ee722873
PR-URL: https://github.com/nodejs/node/pull/54308 Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com>
43 lines
984 B
JavaScript
43 lines
984 B
JavaScript
'use strict';
|
|
const common = require('../common.js');
|
|
|
|
const {
|
|
PassThrough,
|
|
Readable,
|
|
Writable,
|
|
compose,
|
|
} = require('node:stream');
|
|
|
|
const bench = common.createBenchmark(main, {
|
|
n: [1e3],
|
|
});
|
|
|
|
function main({ n }) {
|
|
const cachedPassThroughs = [];
|
|
const cachedReadables = [];
|
|
const cachedWritables = [];
|
|
|
|
for (let i = 0; i < n; i++) {
|
|
const numberOfPassThroughs = 100;
|
|
const passThroughs = [];
|
|
|
|
for (let i = 0; i < numberOfPassThroughs; i++) {
|
|
passThroughs.push(new PassThrough());
|
|
}
|
|
|
|
const readable = Readable.from(['hello', 'world']);
|
|
const writable = new Writable({ objectMode: true, write: (chunk, encoding, cb) => cb() });
|
|
|
|
cachedPassThroughs.push(passThroughs);
|
|
cachedReadables.push(readable);
|
|
cachedWritables.push(writable);
|
|
}
|
|
|
|
bench.start();
|
|
for (let i = 0; i < n; i++) {
|
|
const composed = compose(cachedReadables[i], ...cachedPassThroughs[i], cachedWritables[i]);
|
|
composed.end();
|
|
}
|
|
bench.end(n);
|
|
}
|