%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const Writable = require('stream').Writable; const bench = common.createBenchmark(main, { n: [2e6], sync: ['yes', 'no'], writev: ['yes', 'no'], callback: ['yes', 'no'], len: [1024, 32 * 1024] }); function main({ n, sync, writev, callback, len }) { const b = Buffer.allocUnsafe(len); const s = new Writable(); sync = sync === 'yes'; const writecb = (cb) => { if (sync) cb(); else process.nextTick(cb); }; if (writev === 'yes') { s._writev = (chunks, cb) => writecb(cb); } else { s._write = (chunk, encoding, cb) => writecb(cb); } const cb = callback === 'yes' ? () => {} : null; bench.start(); let k = 0; function run() { while (k++ < n && s.write(b, cb)); if (k >= n) { bench.end(n); s.removeListener('drain', run); } } s.on('drain', run); run(); }