'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); }