/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/webstreams/pipe-to.js
36 строк
780 B
Raz Luvaton
benchmark: shorten pipe-to by reducing number of chunks
13 сен 2023, 22:44
Не верифицирован
13 сен 2023, 22:44
7ad4c0f
Код
Авторство
О чём код?
'use strict'; const common = require('../common.js'); const { ReadableStream, WritableStream, } = require('node:stream/web'); const bench = common.createBenchmark(main, { n: [5e5], highWaterMarkR: [512, 1024, 2048, 4096], highWaterMarkW: [512, 1024, 2048, 4096], }); async function main({ n, highWaterMarkR, highWaterMarkW }) { const b = Buffer.alloc(1024); let i = 0; const rs = new ReadableStream({ highWaterMark: highWaterMarkR, pull: function(controller) { if (i++ < n) { controller.enqueue(b); } else { controller.close(); } }, }); const ws = new WritableStream({ highWaterMark: highWaterMarkW, write(chunk, controller) {}, close() { bench.end(n); }, }); bench.start(); rs.pipeTo(ws); }