1'use strict'; 2 3const { createBenchmark } = require('../common.js'); 4 5const { connect, createServer } = require('net'); 6const { open } = require('fs'); 7 8const bench = createBenchmark(main, { 9 handlesCount: [1e4], 10 requestsCount: [1e4], 11 timeoutsCount: [1e4], 12 immediatesCount: [1e4], 13 n: [1e5], 14}); 15 16function main({ handlesCount, requestsCount, timeoutsCount, immediatesCount, n }) { 17 const server = createServer().listen(); 18 const clients = []; 19 for (let i = 0; i < handlesCount; i++) { 20 clients.push(connect({ port: server.address().port })); 21 } 22 23 for (let i = 0; i < requestsCount; i++) { 24 open(__filename, 'r', () => {}); 25 } 26 27 for (let i = 0; i < timeoutsCount; ++i) { 28 setTimeout(() => {}, 1); 29 } 30 31 for (let i = 0; i < immediatesCount; ++i) { 32 setImmediate(() => {}); 33 } 34 35 bench.start(); 36 for (let i = 0; i < n; ++i) { 37 process.getActiveResourcesInfo(); 38 } 39 bench.end(n); 40 41 for (const client of clients) { 42 client.destroy(); 43 } 44 server.close(); 45} 46