X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=benchmarks%2Fbench.js;h=e0daca2d0aa84a85387f23414b884b1c57170f2d;hb=5ed1b3a8f15d8267c47a346b37a72920d7ee4a4e;hp=d7b2f1a36c322f29b5745bcd527ccd159113a903;hpb=106744f7518d0f64ce85c4507157092083c2c4d4;p=poolifier.git diff --git a/benchmarks/bench.js b/benchmarks/bench.js index d7b2f1a3..e0daca2d 100644 --- a/benchmarks/bench.js +++ b/benchmarks/bench.js @@ -2,15 +2,19 @@ const Benchmark = require('benchmark') const suite = new Benchmark.Suite() const FixedThreadPool = require('../lib/fixed') const DynamicThreadPool = require('../lib/dynamic') -const Pool = require('worker-threads-pool') const size = 30 const tasks = 1 // pools -const externalPool = new Pool({ max: size }) -const fixedPool = new FixedThreadPool(size, - './yourWorker.js', { maxTasks: 10000 }) -const dynamicPool = new DynamicThreadPool(size / 2, size * 3, './yourWorker.js', { maxTasks: 10000 }) +const fixedPool = new FixedThreadPool(size, './yourWorker.js', { + maxTasks: 10000 +}) +const dynamicPool = new DynamicThreadPool( + size / 2, + size * 3, + './yourWorker.js', + { maxTasks: 10000 } +) const workerData = { proof: 'ok' } // wait some seconds before start, my pools need to load threads !!! @@ -47,42 +51,16 @@ async function dynamicTest () { }) } -async function externalPoolTest () { - return new Promise((resolve, reject) => { - let executions = 0 - for (let i = 0; i <= tasks; i++) { - new Promise((resolve, reject) => { - externalPool.acquire('./externalWorker.js', { workerData: workerData }, (err, worker) => { - if (err) { - return reject(err) - } - worker.on('error', reject) - worker.on('message', res => { - executions++ - resolve(res) - }) - }) - }).then(res => { - if (tasks === executions) { - resolve('FINISH') - } - }) - } - }) -} - async function test () { // add tests - suite.add('PioardiStaticPool', async function () { - await fixedTest() - }) + suite + .add('PioardiStaticPool', async function () { + await fixedTest() + }) .add('PioardiDynamicPool', async function () { await dynamicTest() }) - .add('ExternalPool', async function () { - await externalPoolTest() - }) - // add listeners + // add listeners .on('cycle', function (event) { console.log(String(event.target)) }) @@ -90,6 +68,6 @@ async function test () { this.filter('fastest').map('name') console.log('Fastest is ' + this.filter('fastest').map('name')) }) - // run async + // run async .run({ async: true }) }