refactor(benchmark): remove unneeded try {} catch {} logic
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 31 Mar 2024 20:18:03 +0000 (22:18 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sun, 31 Mar 2024 20:18:03 +0000 (22:18 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
benchmarks/benchmarks-utils.mjs

index 0971e683413c4fc420586a6d4423e5be27f5a0a2..a74a36ee6dbb05ad645aea2f468c2b61835efdfb 100644 (file)
@@ -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 })
   })
 }