Test name | Executions per second |
---|---|
Math.max.apply | 83201.5 Ops/sec |
Math.max with spread | 82929.5 Ops/sec |
basic for loop | 380385.5 Ops/sec |
for loop length caching | 382174.9 Ops/sec |
for loop reverse | 377604.7 Ops/sec |
for-of loop | 54926.1 Ops/sec |
Math.max.apply extracted into separate function | 82937.8 Ops/sec |
var arr = [];
var max = -Infinity;
for (i = 0; i < 4096; i++) {
arr.push(Math.random() * i);
}
function mathMax (array) {
return Math.max.apply(Math, array);
}
max = Math.max.apply(Math, arr);
max = Math.max(arr);
for (let i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
for (let i = 0, len = arr.length; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i] > max) {
max = arr[i];
}
}
for (const value of arr) {
if (value > max) {
max = value;
}
}
mathMax(arr)