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();
  • 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: 8 months ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Chrome 127 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Array.prototype.slice [direct call] 6305539.0 Ops/sec
Array.prototype.slice [saved function call] 3341683.5 Ops/sec
Array.prototype.concat [direct call] 3928783.0 Ops/sec
Array.prototype.concat [saved function call] 2555343.2 Ops/sec
Spread operator 6121413.5 Ops/sec