Benchmark: Ensure choice algos does not init with off-by-one (#151)
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 14 Feb 2021 13:12:15 +0000 (14:12 +0100)
committerGitHub <noreply@github.com>
Sun, 14 Feb 2021 13:12:15 +0000 (14:12 +0100)
Co-authored-by: Shinigami92 <chrissi92@hotmail.de>
benchmarks/choose-worker.js

index 38e6fc7c5a4a772f50fb08f899173db7e3763b25..fe98eff1e0123ad143d2e394ffa59c53ee8afe4a 100644 (file)
@@ -17,7 +17,15 @@ function chooseWorkerTernary () {
   return workers[nextWorkerIndex]
 }
 
-function chooseWorkerIncrementModuloWithPreChoosing () {
+function chooseWorkerTernaryWithNegation () {
+  nextWorkerIndex =
+    !nextWorkerIndex || workers.length - 1 === nextWorkerIndex
+      ? 0
+      : nextWorkerIndex + 1
+  return workers[nextWorkerIndex]
+}
+
+function chooseWorkerTernaryWithPreChoosing () {
   const chosenWorker = workers[nextWorkerIndex]
   nextWorkerIndex =
     workers.length - 1 === nextWorkerIndex ? 0 : nextWorkerIndex + 1
@@ -36,9 +44,13 @@ suite
     nextWorkerIndex = 0
     chooseWorkerTernary()
   })
-  .add('Increment+Modulo with PreChoosing', function () {
+  .add('Ternary with negation', function () {
+    nextWorkerIndex = 0
+    chooseWorkerTernaryWithNegation()
+  })
+  .add('Ternary with PreChoosing', function () {
     nextWorkerIndex = 0
-    chooseWorkerIncrementModuloWithPreChoosing()
+    chooseWorkerTernaryWithPreChoosing()
   })
   .add('Increment+Modulo', function () {
     nextWorkerIndex = 0