%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.js'); const fs = require('fs'); const zlib = require('zlib'); const bench = common.createBenchmark(main, { inputLen: [1024], duration: [5], type: ['string', 'buffer'], algorithm: ['gzip', 'brotli'] }, { test: { inputLen: 1024, duration: 0.2 } }); function main({ inputLen, duration, type, algorithm }) { const buffer = Buffer.alloc(inputLen, fs.readFileSync(__filename)); const chunk = type === 'buffer' ? buffer : buffer.toString('utf8'); const input = algorithm === 'gzip' ? zlib.createGzip() : zlib.createBrotliCompress(); const output = algorithm === 'gzip' ? zlib.createGunzip() : zlib.createBrotliDecompress(); let readFromOutput = 0; input.pipe(output); if (type === 'string') output.setEncoding('utf8'); output.on('data', (chunk) => readFromOutput += chunk.length); function write() { input.write(chunk, write); } bench.start(); write(); setTimeout(() => { // Give result in GBit/s, like the net benchmarks do bench.end(readFromOutput * 8 / (1024 ** 3)); // Cut off writing the easy way. input.write = () => {}; }, duration * 1000); }