%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 bench = common.createBenchmark(main, { n: [1e3], nheaders: [0, 10, 100, 1000] }, { flags: ['--no-warnings'] }); function main({ n, nheaders }) { const http2 = require('http2'); const server = http2.createServer({ maxHeaderListPairs: 20000 }); const headersObject = { ':path': '/', ':scheme': 'http', 'accept-encoding': 'gzip, deflate', 'accept-language': 'en', 'content-type': 'text/plain', 'referer': 'https://example.org/', 'user-agent': 'SuperBenchmarker 3000' }; for (let i = 0; i < nheaders; i++) { headersObject[`foo${i}`] = `some header value ${i}`; } server.on('stream', (stream) => { stream.respond(); stream.end('Hi!'); }); server.listen(0, () => { const client = http2.connect(`http://localhost:${server.address().port}/`, { maxHeaderListPairs: 20000 }); function doRequest(remaining) { const req = client.request(headersObject); req.resume(); req.on('end', () => { if (remaining > 0) { doRequest(remaining - 1); } else { bench.end(n); server.close(); client.destroy(); } }); } bench.start(); doRequest(n); }); }