Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
lodash flattenDeep vs js native
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Browser:
Firefox 135
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
Native(ES2019)
20.6M/s
_.flattenDeep
17.5M/s
native 2
7.2M/s
// Native
4.3M/s
View exact numbers
Test name
Executions per second
✓
Native(ES2019)
20,575,270 Ops/sec
_.flattenDeep
17,467,622 Ops/sec
native 2
7,247,802 Ops/sec
// Native
4,304,448 Ops/sec
HTML Preparation code:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
Script Preparation code:
var elements = [1, [2, [3, [4]], 5]]; const flattenDeep = (arr) => Array.isArray(arr) ? arr.reduce( (a, b) => a.concat(flattenDeep(b)) , []) : [arr]; const flattenDeepL = (arr) => arr.flatMap((subArray, index) => Array.isArray(subArray) ? flattenDeepL(subArray) : subArray);
Tests:
_.flattenDeep
_.flattenDeep(elements);
// Native
const flattenDeep = (arr) => Array.isArray(arr) ? arr.reduce( (a, b) => a.concat(flattenDeep(b)) , []) : [arr]; flattenDeep(elements)
Native(ES2019)
elements.flat(Infinity)
native 2
const flattenDeep = (arr) => arr.flatMap((subArray, index) => Array.isArray(subArray) ? flattenDeep(subArray) : subArray) flattenDeep(elements)