%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'; if (process.argv[2] === 'child') { const len = +process.argv[3]; const msg = '.'.repeat(len); const send = () => { while (process.send(msg)); // Wait: backlog of unsent messages exceeds threshold setImmediate(send); }; send(); } else { const common = require('../common.js'); const bench = common.createBenchmark(main, { len: [ 64, 256, 1024, 4096, 16384, 65536, 65536 << 4, 65536 << 6 - 1, ], dur: [5] }); const spawn = require('child_process').spawn; function main({ dur, len }) { bench.start(); const options = { 'stdio': ['ignore', 1, 2, 'ipc'] }; const child = spawn(process.argv[0], [process.argv[1], 'child', len], options); let bytes = 0; child.on('message', (msg) => { bytes += msg.length; }); setTimeout(() => { child.kill(); bench.end(bytes); }, dur * 1000); } }