Test name | Executions per second |
---|---|
Array.forEach | 120.6 Ops/sec |
for of | 515.4 Ops/sec |
for <array.length, indexing | 6.7 Ops/sec |
for <len, indexing | 8.8 Ops/sec |
for <array.length, tmp element | 13.0 Ops/sec |
for <len, tmp element | 24.2 Ops/sec |
function generateTestArray() {
const result = [];
for (let i = 0; i < 1000000; ++i) {
result.push({
a: i,
b: i / 2,
r: 0,
});
}
return result;
}
var array = generateTestArray();
array.forEach((x) => {
x.r = x.a + x.b;
});
for (const obj of array) {
obj.r = obj.a + obj.b;
}
for (let i = 0; i < array.length; ++i) {
array[i].r = array[i].a + array[i].b;
}
const len = array.length;
for (let i = 0; i < len; ++i) {
array[i].r = array[i].a + array[i].b;
}
for (let i = 0; i < array.length; ++i) {
const x = array[i];
x.r = x.a + x.b;
}
const len = array.length;
for (let i = 0; i < len; ++i) {
const x = array[i];
x.r = x.a + x.b;
}