Test name | Executions per second |
---|---|
forEach 1 | 359399.3 Ops/sec |
forEach 2 | 354638.5 Ops/sec |
for loop 1 | 63179.2 Ops/sec |
for loop 2 | 62977.0 Ops/sec |
for loop 1-2 | 87915.4 Ops/sec |
for loop 2-2 | 88056.8 Ops/sec |
for-in | 7650.0 Ops/sec |
for-in 2 | 7875.3 Ops/sec |
for-of | 394294.8 Ops/sec |
for-of 2 | 396475.8 Ops/sec |
function generateLargeTestRef() {
const testRef = {};
for (let i = 0; i < 50; i++) {
testRef[`prop${i}`] = "x".repeat(10**6); // 1 million de caractères
}
return testRef;
}
// Créer le testRef_large avec 50 propriétés
const testRef_large = generateLargeTestRef();
// Créer 10 000 testObject avec 3 références à testRef_large
const testObject = Array.from({ length: 10000 }, () => ({
a: testRef_large,
b: testRef_large,
c: testRef_large,
}));
// Créer 10 000 testObject2 avec 5 références à testRef_large
const testObject2 = Array.from({ length: 10000 }, () => ({
a: testRef_large,
b: testRef_large,
c: testRef_large,
e: testRef_large,
f: testRef_large,
}));
testObject.forEach(item => {
});
testObject2.forEach(item => {
});
for (let i = 0; i < testObject.length; i++) {
const item = testObject[i];
}
for (let i = 0; i < testObject2.length; i++) {
const item = testObject2[i];
}
for (let i = 0, l = testObject.length; i < l; i++) {
const item = testObject[i];
}
for (let i = 0, l = testObject2.length; i < l; i++) {
const item = testObject2[i];
}
for (let key in testObject) { }
for (let key in testObject2) { }
for (let item of testObject) { }
for (let item of testObject2) { }