Switch eslint-plugin-node to supported eslint-plugin-n
[poolifier.git] / benchmarks / versus-external-pools / dynamic-workerpool.js
1 // IMPORT LIBRARIES
2 const workerpool = require('workerpool')
3 // FINISH IMPORT LIBRARIES
4 const size = Number(process.env.POOL_SIZE)
5 const iterations = Number(process.env.NUM_ITERATIONS)
6 const dataArray = ['MYBENCH', process.env.TASK_TYPE, process.env.TASK_SIZE]
7
8 const workerPool = workerpool.pool(
9 './workers/workerpool/function-to-bench-worker.js',
10 {
11 minWorkers: size,
12 maxWorkers: size * 3,
13 workerType: 'thread'
14 }
15 )
16
17 async function run () {
18 const promises = []
19 for (let i = 0; i < iterations; i++) {
20 promises.push(workerPool.exec('functionToBench', dataArray))
21 }
22 await Promise.all(promises)
23 // eslint-disable-next-line n/no-process-exit
24 process.exit()
25 }
26
27 run()