Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
test keyby vs looped findby
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/130.0.0.0 Safari/537.36 Edg/130.0.0.0
Browser:
Chrome 130
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
looped findby
8530335.0 Ops/sec
keyByTest
2293635.5 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
const users = [{id: 1, name: 'cool'}, {id:2, name: 'cool2'}, {id:3, name: 'cool3'}]; const usersWithPerms = [{id: 1, perm: 'yes'}, {id:2, perm: 'no'}, {id:3, perm: 'yes'}]; var loopedFindBy = () => { const result = []; users.forEach((user) => { const rawEntry = usersWithPerms.find( (entry) => entry.id === user.id ); result.push(rawEntry); }); return result; } var keyByTest = () => { const result = []; const userPermsById = _.keyBy(usersWithPerms, 'id'); users.forEach((user) => { const rawEntry = userPermsById[user.id]; result.push(rawEntry); }) return result; }
Tests:
looped findby
loopedFindBy();
keyByTest
keyByTest();