2 const { spawn
, Thread
, Worker
} = require('threads')
3 // FINISH IMPORT LIBRARIES
4 const size
= process
.env
.POOL_SIZE
5 const iterations
= process
.env
.NUM_ITERATIONS
8 taskType
: process
.env
['TASK_TYPE']
11 // Threads.js is not really a pool so we need to write few additional code
13 async
function poolify () {
14 for (let i
= 0; i
< size
; i
++ ){
15 const worker
= await
spawn(new Worker("./workers/threadjs/function-to-bench-worker.js"))
21 async
function run () {
24 for (let i
= 0; i
< iterations
; i
++) {
25 const worker
= workers
[(i
% size
)]
26 promises
.push(worker
.exposedFunction(data
))
28 await Promise
.all(promises
)