refactor: use named export in benchmarking code
[poolifier.git] / benchmarks / versus-external-pools / fixed-microjob.mjs
CommitLineData
7f685093 1// IMPORT LIBRARIES
8fca9288 2import { job, start } from 'microjob'
7f685093
JB
3// FINISH IMPORT LIBRARIES
4// IMPORT FUNCTION TO BENCH
bea2d6e3 5import functionToBench from './functions/function-to-bench.js'
7f685093 6// FINISH IMPORT FUNCTION TO BENCH
6bd72cd0
JB
7const size = parseInt(process.env.POOL_SIZE)
8const iterations = parseInt(process.env.NUM_ITERATIONS)
7f685093
JB
9const data = {
10 test: 'MYBENCH',
7a6a0a96 11 taskType: process.env.TASK_TYPE,
6bd72cd0 12 taskSize: parseInt(process.env.TASK_SIZE)
7f685093
JB
13}
14
15async function run () {
79e7d368 16 await start({ maxWorkers: size })
7f685093
JB
17 const promises = []
18 for (let i = 0; i < iterations; i++) {
19 promises.push(
20 job(
21 data => {
22 functionToBench(data)
23 },
7a6a0a96 24 { data, ctx: { functionToBench } }
7f685093
JB
25 )
26 )
27 }
28 await Promise.all(promises)
2f8c5b5c 29 // eslint-disable-next-line n/no-process-exit
7f685093
JB
30 process.exit()
31}
32
8fca9288 33await run()