Test name | Executions per second |
---|---|
forEach 1 | 23.9 Ops/sec |
forEach 2 | 23.3 Ops/sec |
for loop 1 | 21.9 Ops/sec |
for loop 2 | 22.1 Ops/sec |
for loop 1-2 | 22.8 Ops/sec |
for loop 2-2 | 21.7 Ops/sec |
for-in | 21.8 Ops/sec |
for-in 2 | 22.2 Ops/sec |
for-of | 22.5 Ops/sec |
for-of 2 | 20.3 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 => {
console.log(item)
});
testObject2.forEach(item => {
console.log(item)
});
for (let i = 0; i < testObject.length; i++) {
console.log(testObject[i])
}
for (let i = 0; i < testObject2.length; i++) {
console.log(testObject2[i])
}
for (let i = 0, l = testObject.length; i < l; i++) {
console.log(testObject[i])
}
for (let i = 0, l = testObject2.length; i < l; i++) {
console.log(testObject2[i])
}
for (let key in testObject) {
console.log(testObject[key])
}
for (let key in testObject2) {
console.log(testObject2[key])
}
for (let item of testObject) {
console.log(item) }
for (let item of testObject2) {
console.log(item) }