X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=is-empty-object.js;h=b1f4d762f53226ea4f083de8bcd8539ccf6b0254;hb=5b907dbf7ed955584eb9f452f9dc4c8f59577816;hp=909a7d7880d4b621ee13637d13ce6878e243a4c7;hpb=9d7eeee7d593df4ce1d6c21d1efdae816a47a85d;p=benchmarks-js.git diff --git a/is-empty-object.js b/is-empty-object.js index 909a7d7..b1f4d76 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, size } = generateRandomObject() Benchmark.suite( `Is empty object with ${size} keys`, - Benchmark.add('Reflect keys', (obj = testObject) => { - return Reflect.ownKeys(obj).length === 0 && obj.constructor === Object + 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(),