Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
ALY js vs lodash
(version: 0)
Comparing performance of:
js vs lodash
Created:
2 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
import { flatMap, groupBy, mapValues } from 'lodash'; const data = [ { "id": "HUB:SEA:07244d185647df49a", "podType": "ACCOUNT_EXECUTIVE_TO_SALES_DEVELOPER", "primarySeats": [ { "managerUserLdap": "ehazlehu", "managerSeatName": "MS-EMEA-Mgr-HUB-STG-002147", "managerUserName": "Emma Hazlehurst", "managerSeatId": "HUB:SEA:07244d185647df75b", "userLdap": "ahartle", "userLevel": "AE4", "userName": "Annabel Hartle", "seatName": "LTS-EMEA-AE4-HUB-STG-000001", "seatId": "HUB:SEA:07244d185647df515", "podId": "hub:pod:16fa6c18b93ad09e5", "isPodDeleted": false, "startDate": "2023-11-03", "endDate": "2123-11-03", "__typename": "PrimarySeatInfo" } ], "secondarySeat": { "managerUserLdap": "alalor", "managerSeatName": "LSS-EMEA-Mgr-HUB-STG-005104", "managerUserName": "Alan Lalor", "managerSeatId": "HUB:SEA:07244d185647e0b02", "userLdap": "rcleary", "userName": "Rachel Cleary", "userLevel": "SD1", "seatName": "LSS-EMEA-SD1-HUB-STG-001786", "seatId": "HUB:SEA:07244d185647df49a", "__typename": "SecondarySeatInfo" }, "__typename": "PodSeatMapping" }, { "id": "HUB:SEA:07244d185647df5fb", "podType": "ACCOUNT_EXECUTIVE_TO_SALES_DEVELOPER", "primarySeats": [ { "managerUserLdap": "bruczhan", "managerSeatName": "HUBBLE_NULL_DEFAULT_MANAGER_SEAT", "managerUserName": "Bruce Zhang", "managerSeatId": "hub:sea:f48b45186382c130f", "userLdap": "bdonley", "userLevel": "AE", "userName": "Brittany Huerta", "seatName": "TAL-APAC-AE2-HUB-STG-004492", "seatId": "HUB:SEA:07244d185647dfa68", "podId": "hub:pod:c2a000186086caf62", "isPodDeleted": false, "startDate": "2023-01-31", "endDate": "2023-06-15", "__typename": "PrimarySeatInfo" }, { "managerUserLdap": "bruczhan", "managerSeatName": "HUBBLE_NULL_DEFAULT_MANAGER_SEAT", "managerUserName": "Bruce Zhang", "managerSeatId": "hub:sea:f48b45186382c130f", "userLdap": "jcorinea", "userLevel": "AE1", "userName": "Justin Corinealdi", "seatName": "LSS-EMEA-SD1-HUB-STG-006712", "seatId": "HUB:SEA:07244d185647e31eb", "podId": "HUB:POD:453eff18565b8f73b", "isPodDeleted": false, "startDate": "2023-01-16", "endDate": "2023-06-15", "__typename": "PrimarySeatInfo" } ], "secondarySeat": { "managerUserLdap": "rhurh", "managerSeatName": "TAL-NA-Mgr-HUB-STG-005646", "managerUserName": "Rich Hurh", "managerSeatId": "HUB:SEA:07244d185647e24c9", "userLdap": "zvaldovinos", "userName": "Zoraida Valdovinos", "userLevel": "RM2", "seatName": "TAL-NA-SD1-HUB-STG-001533", "seatId": "HUB:SEA:07244d185647df5fb", "__typename": "SecondarySeatInfo" }, "__typename": "PodSeatMapping" }, { "id": "HUB:SEA:07244d185647df76c", "podType": "ACCOUNT_EXECUTIVE_TO_SALES_DEVELOPER", "primarySeats": [ { "managerUserLdap": "bruczhan", "managerSeatName": "HUBBLE_NULL_DEFAULT_MANAGER_SEAT", "managerUserName": "Bruce Zhang", "managerSeatId": "hub:sea:f48b45186382c130f", "userLdap": "jcorinea", "userLevel": "AE1", "userName": "Justin Corinealdi", "seatName": "LSS-EMEA-SD1-HUB-STG-006712", "seatId": "HUB:SEA:07244d185647e31eb", "podId": "HUB:POD:453eff18565b8f73b", "isPodDeleted": false, "startDate": "2023-01-16", "endDate": "2023-06-15", "__typename": "PrimarySeatInfo" } ], "secondarySeat": { "managerUserLdap": "cfrenzel", "managerSeatName": "HS-EMEA-Mgr-HUB-STG-006289", "managerUserName": "Christian Frenzel", "managerSeatId": "HUB:SEA:07244d185647e0d72", "userLdap": "tgaiswin", "userName": "Thoman Gaiswinkler", "userLevel": "AE3", "seatName": "HS-EMEA-AE3-HUB-STG-002179", "seatId": "HUB:SEA:07244d185647df76c", "__typename": "SecondarySeatInfo" }, "__typename": "PodSeatMapping" } ]; const groupByPrimarySeatIdLodash = (data) => { const flattened = flatMap(data, (item) => { if (!item.primarySeats) return []; return item.primarySeats.map((seat) => { return { primarySeatId: seat?.seatId ?? '', data: item }; }); }); const grouped = groupBy(flattened, 'primarySeatId'); return mapValues(grouped, (items) => items.map((item) => item.data)); }; /** * Same as above but using plain javascript */ const groupByPrimarySeatId = (data) => { const groups = {}; data.forEach((record) => { if (!record.primarySeats) return; record.primarySeats.forEach((seat) => { const seatId = seat?.seatId ?? ''; if (!groups[seatId]) { groups[seatId] = []; } groups[seatId].push(record); }); }); return groups; };
Tests:
js
groupByPrimarySeatId(data);
lodash
groupByPrimarySeatIdLodash(data);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
js
lodash
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?