Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Chunk map vs map only
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/126.0.0.0 Safari/537.36
Browser:
Chrome 126
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Chunk and map 1000
0.3 Ops/sec
Map only
0.3 Ops/sec
Chunk and map 100
0.2 Ops/sec
Chunk and map 10
0.1 Ops/sec
Script Preparation code:
var test = Array.from( { length: 1000000, }, () => ({ b: Math.round(Math.random()), }), ); async function addC(item) { await new Promise((resolve) => setTimeout(resolve, 5)); item.c = 9; return item; } function chunk(arr, chunkSize) { const groups = []; let i = 0; while (i < arr.length) { groups.push(arr.slice(i, (i += chunkSize))); } return groups; } async function mapOnly(array, size) { await Promise.all(array.map(async (item) => await addC(item))); return array; } async function chunkAndMap(array, size) { const chunks = chunk(array, size); await Promise.all( chunks.map(async (chunk) => { await Promise.all(chunk.map(async (item) => await addC(item))); }), ); return array; } async function run(fun, arr, chunkSize) { await fun(arr, chunkSize); }
Tests:
Chunk and map 10000
run(chunkAndMap, test, 10000)
Map only
run(mapOnly, test, 1000)
Chunk and map 1000
run(chunkAndMap, test, 1000)
Chunk and map 100
run(chunkAndMap, test, 100)