Tests:
  • Spread operator

    AخA
     
    var n = {foo: 'bar', hello: [{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'}]};
    while(n.length < 1000) {
        n = [...n];
    }
  • JSON Parse

     
    var n = {foo: 'bar', hello: [{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'}]};
    n = JSON.stringify(n);
    var j = JSON.parse(n)
  • Object.assign

    x
     
    var n = {foo: 'bar', hello: [{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'},{hello: 'world', foo: 'bar'}]};
    while(n.length < 1000) {
        n = Object.assign({}, n);
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Spread operator
    JSON Parse
    Object.assign

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0
Firefox 79 on Windows
View result in a separate tab
Test name Executions per second
Spread operator 18603810.0 Ops/sec
JSON Parse 342157.7 Ops/sec
Object.assign 23937398.0 Ops/sec