Script Preparation code:
x
 
function tempSwap(array) {
    const length = array.length;
    const swap1 = Math.floor(Math.random() * length);
    const swap2 = Math.floor(Math.random() * length);
    const temp = array[swap1];
    array[swap1] = array[swap2];
    array[swap2] = array[temp];
}
function destructuringSwap(array) {
    const length = array.length;
    const swap1 = Math.floor(Math.random() * length);
    const swap2 = Math.floor(Math.random() * length);
    [
        array[swap1],
        array[swap2]
    ] = [
        array[swap2],
        array[swap1]
    ];
}
Tests:
  • Length 10 temp swap

     
    tempSwap(new Array(10));
  • Length 10 destructuring swap

     
    destructuringSwap(new Array(10));
  • Length 100 temp swap

     
    tempSwap(new Array(100));
  • Length 100 destructuring swap

     
    destructuringSwap(new Array(100));
  • Length 1000 temp swap

     
    tempSwap(new Array(1000));
  • Length 1000 destructuring swap

     
    destructuringSwap(new Array(1000));
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Length 10 temp swap
    Length 10 destructuring swap
    Length 100 temp swap
    Length 100 destructuring swap
    Length 1000 temp swap
    Length 1000 destructuring swap

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 28 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0
Chrome 135 on Windows
View result in a separate tab
Test name Executions per second
Length 10 temp swap 17986974.0 Ops/sec
Length 10 destructuring swap 24715506.0 Ops/sec
Length 100 temp swap 10699824.0 Ops/sec
Length 100 destructuring swap 13495602.0 Ops/sec
Length 1000 temp swap 2290509.5 Ops/sec
Length 1000 destructuring swap 2260521.2 Ops/sec