Commit | Line | Data |
---|---|---|
57df5469 | 1 | const Benchmark = require('benchmark') |
325f50bc S |
2 | const { dynamicClusterTest } = require('./cluster/dynamic') |
3 | const { fixedClusterTest } = require('./cluster/fixed') | |
4 | const { dynamicThreadTest } = require('./thread/dynamic') | |
5 | const { fixedThreadTest } = require('./thread/fixed') | |
6 | ||
57df5469 | 7 | const suite = new Benchmark.Suite() |
57df5469 | 8 | |
583a27ce JB |
9 | const LIST_FORMATTER = new Intl.ListFormat('en-US', { |
10 | style: 'long', | |
11 | type: 'conjunction' | |
12 | }) | |
13 | ||
57df5469 | 14 | // wait some seconds before start, my pools need to load threads !!! |
15 | setTimeout(async () => { | |
16 | test() | |
17 | }, 3000) | |
18 | ||
106744f7 | 19 | async function test () { |
20 | // add tests | |
cf9aa6c3 | 21 | suite |
325f50bc S |
22 | .add('Pioardi:Static:ThreadPool', async function () { |
23 | await fixedThreadTest() | |
24 | }) | |
25 | .add('Pioardi:Dynamic:ThreadPool', async function () { | |
26 | await dynamicThreadTest() | |
27 | }) | |
28 | .add('Pioardi:Static:ClusterPool', async function () { | |
29 | await fixedClusterTest() | |
cf9aa6c3 | 30 | }) |
325f50bc S |
31 | .add('Pioardi:Dynamic:ClusterPool', async function () { |
32 | await dynamicClusterTest() | |
106744f7 | 33 | }) |
cf9aa6c3 | 34 | // add listeners |
57df5469 | 35 | .on('cycle', function (event) { |
583a27ce | 36 | console.log(event.target.toString()) |
57df5469 | 37 | }) |
38 | .on('complete', function () { | |
583a27ce JB |
39 | console.log( |
40 | 'Fastest is ' + | |
41 | LIST_FORMATTER.format(this.filter('fastest').map('name')) | |
42 | ) | |
43 | // eslint-disable-next-line no-process-exit | |
44 | process.exit() | |
57df5469 | 45 | }) |
cf9aa6c3 | 46 | // run async |
57df5469 | 47 | .run({ async: true }) |
48 | } |