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);
    return [
        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: 11 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0
Firefox 137 on Windows
View result in a separate tab
Test name Executions per second
Length 10 temp swap 10288681.0 Ops/sec
Length 10 destructuring swap 6725437.0 Ops/sec
Length 100 temp swap 2771988.2 Ops/sec
Length 100 destructuring swap 2823132.8 Ops/sec
Length 1000 temp swap 901148.2 Ops/sec
Length 1000 destructuring swap 957671.6 Ops/sec