From 47ab5d238b0f0bcc72b99959108ca53a9935dd22 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sun, 31 Mar 2024 22:18:03 +0200 Subject: [PATCH] refactor(benchmark): remove unneeded try {} catch {} logic MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- benchmarks/benchmarks-utils.mjs | 146 +++++++++++++++----------------- 1 file changed, 66 insertions(+), 80 deletions(-) diff --git a/benchmarks/benchmarks-utils.mjs b/benchmarks/benchmarks-utils.mjs index 0971e683..a74a36ee 100644 --- a/benchmarks/benchmarks-utils.mjs +++ b/benchmarks/benchmarks-utils.mjs @@ -84,72 +84,36 @@ export const runPoolifierBenchmarkBenchmarkJs = async ( ) => { return await new Promise((resolve, reject) => { const pool = buildPoolifierPool(workerType, poolType, poolSize) - try { - const suite = new Benchmark.Suite(name, { - onComplete: () => { - if (pool.started && !pool.destroying) { - pool.destroy().then(resolve).catch(reject) - } else { - resolve() - } - }, - onCycle: event => { - console.info(event.target.toString()) - }, - onError: event => { - if (pool.started && !pool.destroying) { - pool - .destroy() - .then(() => { - return reject(event.target.error) - }) - .catch(() => {}) - } else { - reject(event.target.error) - } + const suite = new Benchmark.Suite(name, { + onComplete: () => { + if (pool.started && !pool.destroying) { + pool.destroy().then(resolve).catch(reject) + } else { + resolve() } - }) - for (const workerChoiceStrategy of Object.values( - WorkerChoiceStrategies - )) { - for (const enableTasksQueue of [false, true]) { - if (workerChoiceStrategy === WorkerChoiceStrategies.FAIR_SHARE) { - for (const measurement of [ - Measurements.runTime, - Measurements.elu - ]) { - suite.add( - `${name} with ${workerChoiceStrategy}, with measurement ${measurement} and ${ - enableTasksQueue ? 'with' : 'without' - } tasks queue`, - async () => { - await runPoolifierPool(pool, { - taskExecutions, - workerData - }) - }, - { - onStart: () => { - pool.setWorkerChoiceStrategy(workerChoiceStrategy, { - measurement - }) - pool.enableTasksQueue(enableTasksQueue) - strictEqual( - pool.opts.workerChoiceStrategy, - workerChoiceStrategy - ) - strictEqual(pool.opts.enableTasksQueue, enableTasksQueue) - strictEqual( - pool.opts.workerChoiceStrategyOptions.measurement, - measurement - ) - } - } - ) - } - } else { + }, + onCycle: event => { + console.info(event.target.toString()) + }, + onError: event => { + if (pool.started && !pool.destroying) { + pool + .destroy() + .then(() => { + return reject(event.target.error) + }) + .catch(() => {}) + } else { + reject(event.target.error) + } + } + }) + for (const workerChoiceStrategy of Object.values(WorkerChoiceStrategies)) { + for (const enableTasksQueue of [false, true]) { + if (workerChoiceStrategy === WorkerChoiceStrategies.FAIR_SHARE) { + for (const measurement of [Measurements.runTime, Measurements.elu]) { suite.add( - `${name} with ${workerChoiceStrategy} and ${ + `${name} with ${workerChoiceStrategy}, with measurement ${measurement} and ${ enableTasksQueue ? 'with' : 'without' } tasks queue`, async () => { @@ -160,35 +124,57 @@ export const runPoolifierBenchmarkBenchmarkJs = async ( }, { onStart: () => { - pool.setWorkerChoiceStrategy(workerChoiceStrategy) + pool.setWorkerChoiceStrategy(workerChoiceStrategy, { + measurement + }) pool.enableTasksQueue(enableTasksQueue) strictEqual( pool.opts.workerChoiceStrategy, workerChoiceStrategy ) strictEqual(pool.opts.enableTasksQueue, enableTasksQueue) + strictEqual( + pool.opts.workerChoiceStrategyOptions.measurement, + measurement + ) } } ) } + } else { + suite.add( + `${name} with ${workerChoiceStrategy} and ${ + enableTasksQueue ? 'with' : 'without' + } tasks queue`, + async () => { + await runPoolifierPool(pool, { + taskExecutions, + workerData + }) + }, + { + onStart: () => { + pool.setWorkerChoiceStrategy(workerChoiceStrategy) + pool.enableTasksQueue(enableTasksQueue) + strictEqual( + pool.opts.workerChoiceStrategy, + workerChoiceStrategy + ) + strictEqual(pool.opts.enableTasksQueue, enableTasksQueue) + } + } + ) } } - suite - .on('complete', function () { - console.info( - 'Fastest is ' + - LIST_FORMATTER.format(this.filter('fastest').map('name')) - ) - }) - .run({ async: true }) - } catch (error) { - pool - .destroy() - .then(() => { - return reject(error) - }) - .catch(() => {}) } + suite + .on('complete', function () { + console.info( + 'Fastest is ' + + LIST_FORMATTER.format(this.filter('fastest').map('name')) + ) + }) + .run({ async: true }) }) } -- 2.34.1