Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
js find vs lodash find
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 YaBrowser/24.1.0.0 Safari/537.36
Browser:
Yandex Browser 24
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
using find
384463.9 Ops/sec
using lodash find
259986.5 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Tests:
using find
const R = { idA: 12345 }; const RI = { idB: 98765 }; const events = [{ EEI: [{ EEIC: [{ idA: 12345, idB: 98765 }, { idA: 12342, idB: 98715 }, { idA: 12315, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ], enhancements: [] }, { EEI: [{ EEIC: [{ idA: 12341, idB: 98765 }, { idA: 12342, idB: 98715 }, { idA: 12313, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ], enhancements: [] }, { EEI: [{ EEIC: [{ idA: 12345, idB: 98265 }, { idA: 12122, idB: 98745 }, { idA: 12345, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 91065 }, { idA: 12242, idB: 98315 }, { idA: 12925, idB: 90025 } ] } ], enhancements: [{ charges: [{ idA: 11115, idB: 87878 }, { idA: 12342, idB: 98715 }, { idA: 12315, idB: 98065 } ] }, { charges: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ] } ]; if (events && events.length) { let event = events.find(event => { let linkedItem = false; let linkedEnhancement = false; if (event.EEI && event.EEI.length) { for (let item of event.EEI) { linkedItem = item.EEIC && item.EEIC.some(charge => { return charge.idA === Number(R.idA) && charge.idB === Number(RI.idB) }); if (linkedItem) { break; } } } if (!linkedItem && event.enhancements && event.enhancements.length) { for (let enhancement of event.enhancements) { linkedEnhancement = enhancement.charges && enhancement.charges.some(charge => { return charge.idA === Number(R.idA) && charge.idB === Number(RI.idB) }); if (linkedEnhancement) { break; } } } return linkedItem || linkedEnhancement; }); }
using lodash find
const R = { idA: 12345 }; const RI = { idB: 98765 }; const events = [{ EEI: [{ EEIC: [{ idA: 12345, idB: 98765 }, { idA: 12342, idB: 98715 }, { idA: 12315, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ], enhancements: [] }, { EEI: [{ EEIC: [{ idA: 12341, idB: 98765 }, { idA: 12342, idB: 98715 }, { idA: 12313, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ], enhancements: [] }, { EEI: [{ EEIC: [{ idA: 12345, idB: 98265 }, { idA: 12122, idB: 98745 }, { idA: 12345, idB: 98065 } ] }, { EEIC: [{ idA: 12355, idB: 91065 }, { idA: 12242, idB: 98315 }, { idA: 12925, idB: 90025 } ] } ], enhancements: [{ charges: [{ idA: 11115, idB: 87878 }, { idA: 12342, idB: 98715 }, { idA: 12315, idB: 98065 } ] }, { charges: [{ idA: 12355, idB: 98065 }, { idA: 12342, idB: 98915 }, { idA: 12915, idB: 90065 } ] } ] } ]; if (events && events.length) { let event = _.find(events, (event) => { const a = _.find(event.EEI, (item) => { return _.find(item.EEIC, { idA: Number(R.idA), idB: Number(RI.idB) }) !== undefined; }); const b = _.find(event.enhancements, (enh) => { return _.find(enh.charges, { idA: Number(R.idA), idB: Number(RI.idB) }) !== undefined; }); return a || b; }); }