Tests cleanups
[benchmarks-js.git] / is-empty-object.js
similarity index 58%
rename from empty-object.js
rename to is-empty-object.js
index 17be7fea5585f3f550accb0a4bf8318b356fae98..b27dc104d89ed3a1ec0abf892ff9483ab18431a7 100644 (file)
@@ -1,13 +1,18 @@
 const Benchmark = require('benny')
+const { generateRandomInteger } = require('./benchmark-utils')
 
-const emptyLiteral = {}
+const size = generateRandomInteger(100000)
+const testObject = {}
+for (let i = 0; i < size; i++) {
+  testObject[i.toString()] = i
+}
 
 Benchmark.suite(
-  'Empty object',
-  Benchmark.add('Reflect keys', (obj = emptyLiteral) => {
+  `Is empty object with ${size} keys`,
+  Benchmark.add('Reflect keys', (obj = testObject) => {
     return Reflect.ownKeys(obj).length === 0 && obj.constructor === Object
   }),
-  Benchmark.add('Keys iteration ', (obj = emptyLiteral) => {
+  Benchmark.add('Keys iteration ', (obj = testObject) => {
     if (obj.constructor !== Object) return false
     // Iterates over the keys of an object, if
     // any exist, return false.
@@ -15,23 +20,23 @@ Benchmark.suite(
     for (const _ in obj) return false
     return true
   }),
-  Benchmark.add('Object keys', (obj = emptyLiteral) => {
+  Benchmark.add('Object keys', (obj = testObject) => {
     return obj.constructor === Object && !Object.keys(obj).length
   }),
   Benchmark.cycle(),
   Benchmark.complete(),
   Benchmark.save({
-    file: 'empty-object',
+    file: 'is-empty-object',
     format: 'json',
     details: true
   }),
   Benchmark.save({
-    file: 'empty-object',
+    file: 'is-empty-object',
     format: 'chart.html',
     details: true
   }),
   Benchmark.save({
-    file: 'empty-object',
+    file: 'is-empty-object',
     format: 'table.html',
     details: true
   })