Test name | Executions per second |
---|---|
Length 10 temp swap | 1333522.6 Ops/sec |
Length 10 destructuring swap | 1336106.6 Ops/sec |
Length 100 temp swap | 1196098.4 Ops/sec |
Length 100 destructuring swap | 1186627.9 Ops/sec |
Length 1000 temp swap | 687711.4 Ops/sec |
Length 1000 destructuring swap | 658853.8 Ops/sec |
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]
];
}
tempSwap(new Array(10));
destructuringSwap(new Array(10));
tempSwap(new Array(100));
destructuringSwap(new Array(100));
tempSwap(new Array(1000));
destructuringSwap(new Array(1000));