Commit | Line | Data |
---|---|---|
79e7d368 JB |
1 | // IMPORT LIBRARIES |
2 | const Pool = require('worker-threads-pool') | |
3 | // FINISH IMPORT LIBRARIES | |
4 | const size = Number(process.env.POOL_SIZE) | |
5 | const iterations = Number(process.env.NUM_ITERATIONS) | |
6 | const data = { | |
7 | test: 'MYBENCH', | |
8 | taskType: process.env['TASK_TYPE'] | |
9 | } | |
10 | ||
11 | const pool = new Pool({ max: size }) | |
12 | ||
bd0e5c4d JB |
13 | async 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 |
28 | async 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 | ||
37 | run() |