Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
totalQuantitiesCount 2
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Browser:
Chrome 127
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
reduce
2.0 Ops/sec
forEach if
2.0 Ops/sec
for of
2.0 Ops/sec
for of if
1.8 Ops/sec
for
2.0 Ops/sec
forEach
2.0 Ops/sec
Script Preparation code:
function generateTestData(size) { const carts = {}; for (let i = 0; i < size; i++) { const cartType = `cart_${i}`; carts[cartType] = Math.random() > 0.1 ? { totalQuantityCount: Math.floor(Math.random() * 100) } : null; } return carts; } var state = { carts: { carts: generateTestData(1000000) } };
Tests:
reduce
var totalQuantitiesCount = 0; Object.values(state.carts.carts).reduce((totalQuantitiesCount, cart) => totalQuantitiesCount + (cart?.totalQuantityCount ?? 0), 0);
forEach if
var totalQuantitiesCount = 0; Object.values(state.carts.carts).forEach((cart) => { if (cart !== null) totalQuantitiesCount += cart.totalQuantityCount; });
for of
var totalQuantitiesCount = 0; for (const cart of Object.values(state.carts.carts)) { totalQuantitiesCount += cart?.totalQuantityCount ?? 0; }
for of if
var totalQuantitiesCount = 0; for (const cart of Object.values(state.carts.carts)) { if (cart !== null) totalQuantitiesCount += cart.totalQuantityCount; }
for
var totalQuantitiesCount = 0; const carts = Object.values(state.carts.carts); for (let i = 0; i < carts.length; i++) { const cart = carts[i]; if (cart !== null) { totalQuantitiesCount += cart.totalQuantityCount; } }
forEach
var totalQuantitiesCount = 0; Object.values(state.carts.carts).forEach((cart) => totalQuantitiesCount += (cart?.totalQuantityCount ?? 0));