X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=benchmarks%2Finternal%2Fbench.js;h=7d33fcc5dcb58489bf645cac7a55902353012801;hb=767d1512978a4a45bd79189e67f703ce217342ca;hp=c3db71651a1e84b333490ded1bcd10f29650ff41;hpb=ff5e76e152be8540cba8118bb4e2b9da314dfff5;p=poolifier.git diff --git a/benchmarks/internal/bench.js b/benchmarks/internal/bench.js index c3db7165..7d33fcc5 100644 --- a/benchmarks/internal/bench.js +++ b/benchmarks/internal/bench.js @@ -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 }) }