Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
FilterMap perf2
(version: 0)
Comparing performance of:
Filter Map vs FlatMap vs Reduce vs Push vs Boolean vs Trutry
Created:
one year ago
by:
Guest
Jump to the latest result
Script Preparation code:
var ingredientsPerServing = Array(10_000).fill().map(() => { let o = { details: Math.random().toString(), } if (Math.random() > 0.5) o.measurement = { amount: Math.random(), unit: Math.random().toString(), } return o })
Tests:
Filter Map
ingredientsPerServing .filter((ingredient) => { return ingredient.measurement; }) .map((ingredient) => { return { amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }; }).length
FlatMap
ingredientsPerServing .flatMap((ingredient) => { return !ingredient.measurement ? [] : [{ amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }]; }).length
Reduce
ingredientsPerServing .reduce((a, ingredient) => { return !ingredient.measurement ? a : [...a, { amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }]; }, []).length
Push
ingredientsPerServing .reduce((a, ingredient) => { if (ingredient.measurement) a.push({ amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }); return a; }, []).length
Boolean
ingredientsPerServing .map((ingredient) => { return ingredient.measurement && { amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }; }) .filter(Boolean).length
Trutry
ingredientsPerServing .map((ingredient) => { return ingredient.measurement && { amount: ingredient.measurement.amount, details: ingredient.details, unit: ingredient.measurement.unit, }; }) .filter(e => e).length
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (6)
Previous results
Fork
Test case name
Result
Filter Map
FlatMap
Reduce
Push
Boolean
Trutry
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Comments
Confirm delete:
Do you really want to delete benchmark?