Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Chrome 86
Windows
Desktop
4 years ago
Test name Executions per second
reduce (object reuse) 786.5 Ops/sec
reduce (no reuse) 31.5 Ops/sec
fromEntries 402.5 Ops/sec
Script Preparation code:
AخA
 
var obj = {
  ...Array.from(Array(10000).keys())
};
Tests:
  • reduce (object reuse)

     
    Object.entries(obj).reduce((acc, [k, v]) => {
        acc[k] = v;
        return acc;
    }, {});
  • reduce (no reuse)

     
    Object.entries(obj).reduce((acc, [k, v]) => ({
        ...acc,
        [k]: v,
    }), {});
  • fromEntries

     
    Object.fromEntries(
        Object.entries(obj).map(
            ([k, v]) => [k, v]
        )
    );