Use similar type check for is-empty-object benchmark
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 27 Oct 2022 19:52:32 +0000 (21:52 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 27 Oct 2022 19:52:32 +0000 (21:52 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
is-empty-object.js

index d5d7fd7013a1a42bb4b648ba32fa044ed66a501c..43059bbd18e9dc262be4c402652bc56fa894ba3a 100644 (file)
@@ -1,7 +1,7 @@
 const Benchmark = require('benny')
 const { generateRandomInteger } = require('./benchmark-utils')
 
-const size = generateRandomInteger(100000)
+const size = generateRandomInteger(500)
 const testObject = {}
 for (let i = 0; i < size; i++) {
   testObject[i.toString()] = i
@@ -10,7 +10,7 @@ for (let i = 0; i < size; i++) {
 Benchmark.suite(
   `Is empty object with ${size} keys`,
   Benchmark.add('Reflect keys', (obj = testObject) => {
-    return Reflect.ownKeys(obj).length === 0 && obj?.constructor === Object
+    return obj?.constructor === Object && Reflect.ownKeys(obj).length === 0
   }),
   Benchmark.add('Keys iteration', (obj = testObject) => {
     if (obj?.constructor !== Object) return false
@@ -21,7 +21,7 @@ Benchmark.suite(
     return true
   }),
   Benchmark.add('Object keys', (obj = testObject) => {
-    return obj?.constructor === Object && !Object.keys(obj).length
+    return obj?.constructor === Object && Object.keys(obj).length === 0
   }),
   Benchmark.cycle(),
   Benchmark.complete(),