X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=is-empty-object.js;h=02c3a29c809d00f4d9ab70083688a94c7ad21eb9;hb=df76f9e97177f2ddf0bcd8a1bf6293271ddc2d5a;hp=d5d7fd7013a1a42bb4b648ba32fa044ed66a501c;hpb=adad2e802d5120d237bb9620a1987535271f9784;p=benchmarks-js.git diff --git a/is-empty-object.js b/is-empty-object.js index d5d7fd7..02c3a29 100644 --- a/is-empty-object.js +++ b/is-empty-object.js @@ -1,18 +1,14 @@ const Benchmark = require('benny') -const { generateRandomInteger } = require('./benchmark-utils') +const { generateRandomObject } = require('./benchmark-utils') -const size = generateRandomInteger(100000) -const testObject = {} -for (let i = 0; i < size; i++) { - testObject[i.toString()] = i -} +const object = generateRandomObject() Benchmark.suite( - `Is empty object with ${size} keys`, - Benchmark.add('Reflect keys', (obj = testObject) => { - return Reflect.ownKeys(obj).length === 0 && obj?.constructor === Object + `Is empty object with ${Object.keys(object).length} keys`, + Benchmark.add('Reflect keys', (obj = object) => { + return obj?.constructor === Object && Reflect.ownKeys(obj).length === 0 }), - Benchmark.add('Keys iteration', (obj = testObject) => { + Benchmark.add('Keys iteration', (obj = object) => { if (obj?.constructor !== Object) return false // Iterates over the keys of an object, if // any exist, return false. @@ -20,8 +16,8 @@ Benchmark.suite( for (const _ in obj) return false return true }), - Benchmark.add('Object keys', (obj = testObject) => { - return obj?.constructor === Object && !Object.keys(obj).length + Benchmark.add('Object keys', (obj = object) => { + return obj?.constructor === Object && Object.keys(obj).length === 0 }), Benchmark.cycle(), Benchmark.complete(), @@ -40,4 +36,6 @@ Benchmark.suite( format: 'table.html', details: true }) -) +).catch(err => { + console.error(err) +})