jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
const dealTeamsWithAccess = {
1: [1, 2, 3],
2: [2, 3],
3: [3],
4: [1, 4],
5: [1, 4],
6: [4, 5],
7: [1, 4],
8: [1, 4],
9: [1, 4],
10: [1, 4],
11: [1, 4],
12: [1, 4],
13: [2],
14: [2],
15: [2],
16: [1],
17: [2,3],
18: [3,2,1],
19: [1,2,3,4],
20: [1],
21: [3,2],
22: [2,3],
23: [1],
24: [2],
};
const getAccessForDealTeamForLoop = (
dealTeamsWithAccess,
dealTeamId
) => {
const accessForDealTeam = [];
const prevAccessEntries = Object.entries(dealTeamsWithAccess);
for (let i = 0; i < prevAccessEntries.length; i++) {
const [fileId, dealTeamIds] = prevAccessEntries[i];
if (dealTeamIds.includes(dealTeamId)) {
accessForDealTeam.push(fileId);
}
}
return accessForDealTeam;
};
const getAccessForDealTeamFilterAndMap = (
dealTeamsWithAccess,
dealTeamId
) => {
return Object.entries(dealTeamsWithAccess)
.filter(([_, dealTeamIds]) => dealTeamIds.includes(dealTeamId))
.map(([fileId, _]) => fileId);
};
const getAccessForDealTeamReduce = (dealTeamsWithAccess, dealTeamId) => {
return Object.entries(dealTeamsWithAccess).reduce((acc, [fileId, dealTeamIds]) => {
if (dealTeamIds.includes(dealTeamId)) {
acc.push(fileId);
}
return acc;
}, []);
};
Ready to run.
Test | Ops/sec | |
---|---|---|
For loop |
| ready |
Filter and Map |
| ready |
Reduce |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.