Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
flatMap vs reduce vs loop filtering vs filter/map performance
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/120.0.0.0 Safari/537.36
Browser:
Chrome 120
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Benchmark engine:
Benchmark.js
loop with push
15K/s
reduce with push
15K/s
filter with a map
11K/s
flatMap
1K/s
View exact numbers
Test name
Executions per second
✓
loop with push
15,394 Ops/sec
reduce with push
14,816 Ops/sec
filter with a map
11,052 Ops/sec
flatMap
1,388 Ops/sec
Script Preparation code:
var arr = Array.from({length:10000}, (v, i) => ({name: i, assigned: Math.random() < 0.5}));
Tests:
flatMap
arr.flatMap((o) => (o.assigned ? [o.name] : []));
reduce with push
arr.reduce((a, o) => (o.assigned && a.push(o.name), a), [])
loop with push
{ const a = []; for (const o of arr) if (o.assigned) a.push(o.name); }
filter with a map
arr.filter(item => item.assigned).map(item => item.name)