Script Preparation code:
AخA
 
var data = { ...Array.from(Array(10000).keys()) };
Tests:
  • Object.fromEntries

     
    Object.fromEntries(Object.entries(data).map((key, value) => [key, value.toString()]));
  • Reduce (reuse object)

     
    Object.entries(data).reduce((acc, [k, v]) => {
      acc[k] = v.toString();
      return acc;
    }, {});
  • Reduce (creating temporary objects)

     
    Object.entries(data).reduce((acc, [k, v]) => ({
      ...acc,
      [k]: v.toString()
    }), {});
  • for of

    x
     
    const acc = {};
    for(const [k, v] of Object.entries(data)) {
      acc[k] = v.toString();
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.fromEntries
    Reduce (reuse object)
    Reduce (creating temporary objects)
    for of

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15
Safari 15 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Object.fromEntries 187.1 Ops/sec
Reduce (reuse object) 410.9 Ops/sec
Reduce (creating temporary objects) 0.2 Ops/sec
for of 212.8 Ops/sec