/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
benchmark/webstreams/readable-read.js
49 строк
1 KB
Debadree Chatterjee
benchmark: add a benchmark for read() of ReadableStreams
19 сен 2023, 13:54
Не верифицирован
19 сен 2023, 13:54
cd97e28
Код
Авторство
О чём код?
'use strict'; const common = require('../common.js'); const { ReadableStream } = require('node:stream/web'); const bench = common.createBenchmark(main, { n: [1e5], type: ['normal', 'byob'], }); async function main({ n, type }) { switch (type) { case 'normal': { const rs = new ReadableStream({ pull: function(controller) { controller.enqueue('a'); }, }); const reader = rs.getReader(); let x = null; bench.start(); for (let i = 0; i < n; i++) { const { value } = await reader.read(); x = value; } bench.end(n); console.assert(x); break; } case 'byob': { const encode = new TextEncoder(); const rs = new ReadableStream({ type: 'bytes', pull: function(controller) { controller.enqueue(encode.encode('a')); }, }); const reader = rs.getReader({ mode: 'byob' }); let x = null; bench.start(); for (let i = 0; i < n; i++) { const { value } = await reader.read(new Uint8Array(1)); x = value; } bench.end(n); console.assert(x); break; } } }