README.md: fix typo
[poolifier.git] / benchmarks / internal / bench.js
index c3db71651a1e84b333490ded1bcd10f29650ff41..7d33fcc5dcb58489bf645cac7a55902353012801 100644 (file)
@@ -1,22 +1,32 @@
 const Benchmark = require('benchmark')
 const {
   dynamicClusterTest,
-  dynamicClusterTestLessRecentlyUsed
+  dynamicClusterTestFairShare,
+  dynamicClusterTestLessRecentlyUsed,
+  dynamicClusterTestWeightedRoundRobin
 } = require('./cluster/dynamic')
-const { fixedClusterTest } = require('./cluster/fixed')
+const {
+  fixedClusterTest,
+  fixedClusterTestFairShare,
+  fixedClusterTestLessRecentlyUsed,
+  fixedClusterTestWeightedRoundRobin
+} = require('./cluster/fixed')
 const {
   dynamicThreadTest,
-  dynamicThreadTestLessRecentlyUsed
+  dynamicThreadTestFairShare,
+  dynamicThreadTestLessRecentlyUsed,
+  dynamicThreadTestWeightedRoundRobin
 } = require('./thread/dynamic')
-const { fixedThreadTest } = require('./thread/fixed')
+const {
+  fixedThreadTest,
+  fixedThreadTestFairShare,
+  fixedThreadTestLessRecentlyUsed,
+  fixedThreadTestWeightedRoundRobin
+} = require('./thread/fixed')
+const { LIST_FORMATTER } = require('./benchmark-utils')
 
 const suite = new Benchmark.Suite('poolifier')
 
-const LIST_FORMATTER = new Intl.ListFormat('en-US', {
-  style: 'long',
-  type: 'conjunction'
-})
-
 // Wait some seconds before start, pools need to load threads !!!
 setTimeout(async () => {
   test()
@@ -25,24 +35,54 @@ setTimeout(async () => {
 async function test () {
   // Add tests
   suite
-    .add('Poolifier:Static:ThreadPool', async function () {
+    .add('Poolifier:Fixed:ThreadPool', async function () {
       await fixedThreadTest()
     })
+    .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:Static:ClusterPool', async function () {
+    .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())
@@ -55,5 +95,5 @@ async function test () {
       // eslint-disable-next-line no-process-exit
       process.exit()
     })
-    .run({ async: true, queued: true })
+    .run({ async: true })
 }