'./benchmarks/internal/thread/worker.js'
)
-const fixedPoolLessRecentlyUsed = new FixedThreadPool(
+const fixedPoolTasksQueue = new FixedThreadPool(
+ size,
+ './benchmarks/internal/thread/worker.js',
+ { enableTasksQueue: true }
+)
+
+const fixedPoolLessUsed = new FixedThreadPool(
size,
'./benchmarks/internal/thread/worker.js',
{ workerChoiceStrategy: WorkerChoiceStrategies.LESS_USED }
)
+const fixedPoolLessBusy = new FixedThreadPool(
+ size,
+ './benchmarks/internal/thread/worker.js',
+ { workerChoiceStrategy: WorkerChoiceStrategies.LESS_BUSY }
+)
+
const fixedPoolWeightedRoundRobin = new FixedThreadPool(
size,
'./benchmarks/internal/thread/worker.js',
return runPoolifierTest(fixedPool, { tasks, workerData })
}
-async function fixedThreadTestLessRecentlyUsed (
+async function fixedThreadTasksQueueTest (
+ { tasks, workerData } = { tasks: numberOfTasks, workerData: { proof: 'ok' } }
+) {
+ return runPoolifierTest(fixedPoolTasksQueue, { tasks, workerData })
+}
+
+async function fixedThreadTestLessUsed (
+ { tasks, workerData } = { tasks: numberOfTasks, workerData: { proof: 'ok' } }
+) {
+ return runPoolifierTest(fixedPoolLessUsed, { tasks, workerData })
+}
+
+async function fixedThreadTestLessBusy (
{ tasks, workerData } = { tasks: numberOfTasks, workerData: { proof: 'ok' } }
) {
- return runPoolifierTest(fixedPoolLessRecentlyUsed, { tasks, workerData })
+ return runPoolifierTest(fixedPoolLessBusy, { tasks, workerData })
}
async function fixedThreadTestWeightedRoundRobin (
module.exports = {
fixedThreadTest,
- fixedThreadTestLessRecentlyUsed,
+ fixedThreadTasksQueueTest,
+ fixedThreadTestLessUsed,
+ fixedThreadTestLessBusy,
fixedThreadTestWeightedRoundRobin,
fixedThreadTestFairShare
}