Add WRR worker choice strategy to benchmark
[poolifier.git] / benchmarks / internal / bench.js
index bdb2f614a780e0f78f86b4ff2a2063c65ce283b7..7d33fcc5dcb58489bf645cac7a55902353012801 100644 (file)
@@ -1,19 +1,27 @@
 const Benchmark = require('benchmark')
 const {
   dynamicClusterTest,
-  dynamicClusterTestLessRecentlyUsed
+  dynamicClusterTestFairShare,
+  dynamicClusterTestLessRecentlyUsed,
+  dynamicClusterTestWeightedRoundRobin
 } = require('./cluster/dynamic')
 const {
   fixedClusterTest,
-  fixedClusterTestLessRecentlyUsed
+  fixedClusterTestFairShare,
+  fixedClusterTestLessRecentlyUsed,
+  fixedClusterTestWeightedRoundRobin
 } = require('./cluster/fixed')
 const {
   dynamicThreadTest,
-  dynamicThreadTestLessRecentlyUsed
+  dynamicThreadTestFairShare,
+  dynamicThreadTestLessRecentlyUsed,
+  dynamicThreadTestWeightedRoundRobin
 } = require('./thread/dynamic')
 const {
   fixedThreadTest,
-  fixedThreadTestLessRecentlyUsed
+  fixedThreadTestFairShare,
+  fixedThreadTestLessRecentlyUsed,
+  fixedThreadTestWeightedRoundRobin
 } = require('./thread/fixed')
 const { LIST_FORMATTER } = require('./benchmark-utils')
 
@@ -33,24 +41,48 @@ async function test () {
     .add('Poolifier:Fixed:ThreadPool:LessRecentlyUsed', async function () {
       await fixedThreadTestLessRecentlyUsed()
     })
+    .add('Poolifier:Fixed:ThreadPool:WeightedRoundRobin', async function () {
+      await fixedThreadTestWeightedRoundRobin()
+    })
+    .add('Poolifier:Fixed:ThreadPool:FairShare', async function () {
+      await fixedThreadTestFairShare()
+    })
     .add('Poolifier:Dynamic:ThreadPool', async function () {
       await dynamicThreadTest()
     })
     .add('Poolifier:Dynamic:ThreadPool:LessRecentlyUsed', async function () {
       await dynamicThreadTestLessRecentlyUsed()
     })
+    .add('Poolifier:Dynamic:ThreadPool:WeightedRoundRobin', async function () {
+      await dynamicThreadTestWeightedRoundRobin()
+    })
+    .add('Poolifier:Dynamic:ThreadPool:FairShare', async function () {
+      await dynamicThreadTestFairShare()
+    })
     .add('Poolifier:Fixed:ClusterPool', async function () {
       await fixedClusterTest()
     })
     .add('Poolifier:Fixed:ClusterPool:LessRecentlyUsed', async function () {
       await fixedClusterTestLessRecentlyUsed()
     })
+    .add('Poolifier:Fixed:ClusterPool:WeightedRoundRobin', async function () {
+      await fixedClusterTestWeightedRoundRobin
+    })
+    .add('Poolifier:Fixed:ClusterPool:FairShare', async function () {
+      await fixedClusterTestFairShare()
+    })
     .add('Poolifier:Dynamic:ClusterPool', async function () {
       await dynamicClusterTest()
     })
     .add('Poolifier:Dynamic:ClusterPool:LessRecentlyUsed', async function () {
       await dynamicClusterTestLessRecentlyUsed()
     })
+    .add('Poolifier:Dynamic:ClusterPool:WeightedRoundRobin', async function () {
+      await dynamicClusterTestWeightedRoundRobin
+    })
+    .add('Poolifier:Dynamic:ClusterPool:FairShare', async function () {
+      await dynamicClusterTestFairShare()
+    })
     // Add listeners
     .on('cycle', function (event) {
       console.log(event.target.toString())