Refine release-it configuration
[poolifier.git] / benchmarks / versus-external-pools / fixed-worker-threads-pool.js
CommitLineData
79e7d368
JB
1// IMPORT LIBRARIES
2const Pool = require('worker-threads-pool')
3// FINISH IMPORT LIBRARIES
4const size = Number(process.env.POOL_SIZE)
5const iterations = Number(process.env.NUM_ITERATIONS)
6const data = {
7 test: 'MYBENCH',
8 taskType: process.env['TASK_TYPE']
9}
10
11const pool = new Pool({ max: size })
12
bd0e5c4d
JB
13async function poolAcquireAsync () {
14 return new Promise((resolve, reject) => {
15 pool.acquire(
16 './workers/worker-threads-pool/function-to-bench-worker.js',
17 {
18 workerData: data
19 },
20 err => {
21 if (err) reject(err)
22 resolve()
23 }
24 )
25 })
26}
27
79e7d368
JB
28async function run () {
29 const promises = []
30 for (let i = 0; i < iterations; i++) {
bd0e5c4d 31 promises.push(poolAcquireAsync())
79e7d368
JB
32 }
33 await Promise.all(promises)
34 process.exit()
35}
36
37run()