Script Preparation code:
AخA
 
window.testArray = [1, 'a', undefined, null, false, { a: 123 }, [1, 2, 3]];
window.arraySlice = Array.prototype.slice;
window.arrayConcat = Array.prototype.concat;
Tests:
  • Array.prototype.slice [direct call]

     
    const a = window.testArray.slice(0);
  • Array.prototype.slice [saved function call]

     
    const a = arraySlice.call(window.testArray);
  • Array.prototype.concat [direct call]

     
    const a = window.testArray.concat([]);
  • Array.prototype.concat [saved function call]

     
    const a = window.arrayConcat.call(window.testArray, []);
  • Spread operator

     
    const a = [...window.testArray];
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.prototype.slice [direct call]
    Array.prototype.slice [saved function call]
    Array.prototype.concat [direct call]
    Array.prototype.concat [saved function call]
    Spread operator

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:81.0) Gecko/20100101 Firefox/81.0
Firefox 81 on Mac OS X 10.14
View result in a separate tab
Test name Executions per second
Array.prototype.slice [direct call] 4333405.0 Ops/sec
Array.prototype.slice [saved function call] 3435927.5 Ops/sec
Array.prototype.concat [direct call] 3303569.2 Ops/sec
Array.prototype.concat [saved function call] 2131310.2 Ops/sec
Spread operator 3454584.5 Ops/sec