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
export function groupBy(xs: any, key: any) {
return xs.reduce(function (acc: any, x: any) {
(acc[x[key]] = acc[x[key]] || []).push(x);
return acc;
}, {});
}
export function groupByMultipleKeys(xs: any, keys: string[]) {
return xs.reduce((acc: any, x: any) => {
keys.forEach(key => {
const keyValue = x[key];
if (!acc[key]) {
acc[key] = {};
}
if (!acc[key][keyValue]) {
acc[key][keyValue] = [];
}
acc[key][keyValue].push(x);
});
return acc;
}, {});
}
Ready to run.
Test | Ops/sec | |
---|---|---|
before |
| ready |
after |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.