X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=benchmarks%2Finternal%2Fthread%2Fdynamic.js;h=fa2e0f83bf56c4cf4eaf62814c32e46b8206af94;hb=116609a3a74b68ba940d3a0129104d4eae115ed3;hp=24740f270aafecf647825227b8bf05117eb4da54;hpb=23ff945ac0bc3b9bcf98c6491872cffaac805b73;p=poolifier.git diff --git a/benchmarks/internal/thread/dynamic.js b/benchmarks/internal/thread/dynamic.js index 24740f27..fa2e0f83 100644 --- a/benchmarks/internal/thread/dynamic.js +++ b/benchmarks/internal/thread/dynamic.js @@ -2,7 +2,7 @@ const { DynamicThreadPool, WorkerChoiceStrategies } = require('../../../lib/index') -const { runPoolifierTest } = require('../benchmark-utils') +const { runPoolifierTest } = require('../../benchmarks-utils') const size = 30 const numberOfTasks = 1 @@ -20,6 +20,13 @@ const dynamicPoolLessRecentlyUsed = new DynamicThreadPool( { workerChoiceStrategy: WorkerChoiceStrategies.LESS_RECENTLY_USED } ) +const dynamicPoolWeightedRoundRobin = new DynamicThreadPool( + size / 2, + size * 3, + './benchmarks/internal/thread/worker.js', + { workerChoiceStrategy: WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN } +) + const dynamicPoolFairShare = new DynamicThreadPool( size / 2, size * 3, @@ -39,6 +46,12 @@ async function dynamicThreadTestLessRecentlyUsed ( return runPoolifierTest(dynamicPoolLessRecentlyUsed, { tasks, workerData }) } +async function dynamicThreadTestWeightedRoundRobin ( + { tasks, workerData } = { tasks: numberOfTasks, workerData: { proof: 'ok' } } +) { + return runPoolifierTest(dynamicPoolWeightedRoundRobin, { tasks, workerData }) +} + async function dynamicThreadTestFairShare ( { tasks, workerData } = { tasks: numberOfTasks, workerData: { proof: 'ok' } } ) { @@ -47,6 +60,7 @@ async function dynamicThreadTestFairShare ( module.exports = { dynamicThreadTest, - dynamicThreadTestFairShare, - dynamicThreadTestLessRecentlyUsed + dynamicThreadTestLessRecentlyUsed, + dynamicThreadTestWeightedRoundRobin, + dynamicThreadTestFairShare }