BlogDocs

feat(keyBy): Accept number and symbol keys in `keyBy`(#98)

Merged
Comparing
mass2527:feat/keyBy
(
8dfd875
) with
main
(
fc1a8e6
)
-89%
IMPROVEMENTS
7
REGRESSIONS
8
UNTOUCHED
81
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Failed

lodash/differenceByRegression
benchmarks/differenceBy.bench.ts::differenceBy::lodash/differenceBy
-35%
225.2 µs
345.5 µs
es-toolkit/intersectionRegression
benchmarks/intersection.bench.ts::intersection, large arrays::es-toolkit/intersection
-61%
2.8 ms
7.2 ms
lodash/intersectionByRegression
benchmarks/intersectionBy.bench.ts::intersectionBy::lodash/intersectionBy
-30%
324.3 µs
465.2 µs
lodash/isNilRegression
benchmarks/isNil.bench.ts::isNil::lodash/isNil
-89%
35.7 µs
318.1 µs
es-toolkit/rangeRegression
benchmarks/range.bench.ts::range::es-toolkit/range
-19%
39.3 µs
48.4 µs
lodash/rangeRegression
benchmarks/range.bench.ts::range::lodash/range
-24%
33.6 µs
44.1 µs
lodash/zipRegression
benchmarks/zip.bench.ts::zip::lodash/zip
-33%
243 µs
362.1 µs
lodash/zipWithRegression
benchmarks/zipWith.bench.ts::zipWith::lodash/zipWith
-31%
261.4 µs
377.7 µs

Improved

lodash/shuffle
benchmarks/shuffle.bench.ts::shuffle::lodash/shuffle
×4.5
195.6 µs
43 µs
lodash/difference
benchmarks/difference.bench.ts::difference::lodash/difference
×3.8
218.2 µs
56.8 µs
lodash/differenceWith
benchmarks/differenceWith.bench.ts::differenceWith::lodash/differenceWith
×3.2
223.5 µs
69.3 µs
lodash/unionBy
benchmarks/unionBy.bench.ts::unionBy::lodash/unionBy
×3.1
230.1 µs
75.3 µs
lodash/xorBy
benchmarks/xorBy.bench.ts::xorBy::lodash/xorBy
×2.9
267.7 µs
91 µs
lodash
benchmarks/compact.bench.ts::compact::lodash
+58%
326.9 µs
206.8 µs
lodash/xorWith
benchmarks/xorWith.bench.ts::xorWith::lodash/xorWith
+56%
405.8 µs
259.6 µs

Passed

es-toolkit/omitBy
benchmarks/omitBy.bench.ts::omitBy::es-toolkit/omitBy
+7%
46.4 µs
43.3 µs
lodash/xor
benchmarks/xor.bench.ts::xor::lodash/xor
+6%
257.6 µs
242.7 µs
lodash/dropRight
benchmarks/dropRight.bench.ts::dropRight::lodash/dropRight
+1%
26.5 µs
26.2 µs
es-toolkit/chunk
benchmarks/chunk.bench.ts::chunk::es-toolkit/chunk
+1%
28.2 µs
27.9 µs
lodash/partition
benchmarks/partition.bench.ts::partition::lodash/partition
+1%
31.7 µs
31.5 µs
es-toolkit/differenceWith
benchmarks/differenceWith.bench.ts::differenceWith::es-toolkit/differenceWith
+1%
31.7 µs
31.5 µs
lodash/maxBy
benchmarks/maxBy.bench.ts::maxBy::lodash/maxBy
+1%
38.4 µs
38.1 µs
es-toolkit/partition
benchmarks/partition.bench.ts::partition::es-toolkit/partition
+1%
35.4 µs
35.2 µs
es-toolkit/xorBy
benchmarks/xorBy.bench.ts::xorBy::es-toolkit/xorBy
+1%
61.8 µs
61.5 µs
es-toolkit/keyBy
benchmarks/keyBy.bench.ts::keyBy::es-toolkit/keyBy
+1%
51.5 µs
51.2 µs
lodash/uniqBy
benchmarks/uniqBy.bench.ts::uniqBy, large arrays::lodash/uniqBy
+1%
16.7 ms
16.6 ms
lodash/mean
benchmarks/mean.bench.ts::mean::lodash/mean
0%
23.6 µs
23.4 µs
es-toolkit/minBy
benchmarks/minBy.bench.ts::minBy::es-toolkit/minBy
0%
36.6 µs
36.4 µs
es-toolkit/omit
benchmarks/omit.bench.ts::omit::es-toolkit/omit
0%
37 µs
36.9 µs
es-toolkit/dropRight
benchmarks/dropRight.bench.ts::dropRight::es-toolkit/dropRight
0%
19.6 µs
19.5 µs
es-toolkit/sample
benchmarks/sample.bench.ts::sample::es-toolkit/sample
0%
22.2 µs
22.1 µs
es-toolkit/mean
benchmarks/mean.bench.ts::mean::es-toolkit/mean
0%
22.8 µs
22.7 µs
lodash/intersectionWith
benchmarks/intersectionWith.bench.ts::intersectionWith::lodash/intersectionWith
0%
370.7 µs
369.4 µs
lodash/zipObject
benchmarks/zipObject.bench.ts::zipObject::lodash/zipObject
0%
32.4 µs
32.3 µs
es-toolkit/takeRight
benchmarks/takeRight.bench.ts::takeRight::es-toolkit/takeRight
0%
19.8 µs
19.7 µs
es-toolkit/random
benchmarks/random.bench.ts::random::es-toolkit/random
0%
19.7 µs
19.7 µs
lodash/minBy
benchmarks/minBy.bench.ts::minBy::lodash/minBy
0%
38.2 µs
38.1 µs
es-toolkit/shuffle
benchmarks/shuffle.bench.ts::shuffle::es-toolkit/shuffle
0%
41.1 µs
41.1 µs
es-toolkit/pick
benchmarks/pick.bench.ts::pick::es-toolkit/pick
0%
30.7 µs
30.7 µs
lodash/intersection
benchmarks/intersection.bench.ts::intersection, small arrays::lodash/intersection
0%
70.3 µs
70.2 µs
lodash/random
benchmarks/random.bench.ts::random::lodash/random
0%
33.6 µs
33.6 µs
es-toolkit/unionWith
benchmarks/unionWith.bench.ts::unionWith::es-toolkit/unionWith
0%
63.1 µs
63 µs
es-toolkit/intersectionWith
benchmarks/intersectionWith.bench.ts::intersectionWith::es-toolkit/intersectionWith
0%
53.5 µs
53.4 µs
lodash/groupBy
benchmarks/groupBy.bench.ts::groupBy::lodash/groupBy
0%
61.5 µs
61.5 µs
es-toolkit/groupBy
benchmarks/groupBy.bench.ts::groupBy::es-toolkit/groupBy
0%
55.3 µs
55.2 µs
es-toolkit/intersectionBy
benchmarks/intersectionBy.bench.ts::intersectionBy::es-toolkit/intersectionBy
0%
50.7 µs
50.6 µs
lodash/sum
benchmarks/sum.bench.ts::sum::lodash/sum
0%
22.7 µs
22.7 µs
lodash/dropWhile
benchmarks/dropWhile.bench.ts::dropWhile::lodash/dropWhile
0%
29.6 µs
29.6 µs
es-toolkit/takeRightWhile
benchmarks/takeRightWhile.bench.ts::takeRightWhile::es-toolkit/takeRightWhile
0%
22.6 µs
22.6 µs
lodash/takeRightWhile
benchmarks/takeRightWhile.bench.ts::takeRightWhile::lodash/takeRightWhile
0%
29.5 µs
29.5 µs
es-toolkit/uniqBy
benchmarks/uniqBy.bench.ts::uniqBy, small arrays::es-toolkit/uniqBy
0%
33.5 µs
33.5 µs
es-toolkit/sum
benchmarks/sum.bench.ts::sum::es-toolkit/sum
0%
21.5 µs
21.5 µs
lodash/intersection
benchmarks/intersection.bench.ts::intersection, large arrays::lodash/intersection
0%
18.5 ms
18.5 ms
lodash/keyBy
benchmarks/keyBy.bench.ts::keyBy::lodash/keyBy
0%
58.6 µs
58.6 µs
es-toolkit/maxBy
benchmarks/maxBy.bench.ts::maxBy::es-toolkit/maxBy
0%
36.8 µs
36.8 µs
es-toolkit/union
benchmarks/union.bench.ts::union::es-toolkit/union
0%
32.5 µs
32.6 µs
lodash/chunk
benchmarks/chunk.bench.ts::chunk::lodash/chunk
0%
29.1 µs
29.1 µs
lodash/round
benchmarks/round.bench.ts::round::lodash/round
0%
40.4 µs
40.5 µs
lodash/dropRightWhile
benchmarks/dropRightWhile.bench.ts::dropRightWhile::lodash/dropRightWhile
0%
30.1 µs
30.1 µs
es-toolkit/difference
benchmarks/difference.bench.ts::difference::es-toolkit/difference
0%
26.5 µs
26.6 µs
lodash/takeRight
benchmarks/takeRight.bench.ts::takeRight::lodash/takeRight
0%
25.9 µs
25.9 µs
es-toolkit/uniq
benchmarks/uniq.bench.ts::uniq::es-toolkit/uniq
0%
23.1 µs
23.1 µs
es-toolkit/dropWhile
benchmarks/dropWhile.bench.ts::dropWhile::es-toolkit/dropWhile
0%
23.8 µs
23.8 µs
es-toolkit/zip
benchmarks/zip.bench.ts::zip::es-toolkit/zip
0%
38 µs
38.1 µs
es-toolkit/xor
benchmarks/xor.bench.ts::xor::es-toolkit/xor
0%
57 µs
57.2 µs
es-toolkit/dropRightWhile
benchmarks/dropRightWhile.bench.ts::dropRightWhile::es-toolkit/dropRightWhile
0%
26.2 µs
26.2 µs
es-toolkit/uniqWith
benchmarks/uniqWith.bench.ts::uniqWith, large arrays::es-toolkit/uniqWith
0%
7.4 s
7.4 s
lodash/sample
benchmarks/sample.bench.ts::sample::lodash/sample
0%
22.8 µs
22.8 µs
lodash/uniqWith
benchmarks/uniqWith.bench.ts::uniqWith, large arrays::lodash/uniqWith
0%
7.1 s
7.1 s
es-toolkit/zipWith
benchmarks/zipWith.bench.ts::zipWith::es-toolkit/zipWith
0%
58.7 µs
58.8 µs
es-toolkit/unionBy
benchmarks/unionBy.bench.ts::unionBy::es-toolkit/unionBy
0%
47.2 µs
47.3 µs
es-toolkit
benchmarks/compact.bench.ts::compact::es-toolkit
0%
30.1 µs
30.2 µs
es-toolkit/uniqBy
benchmarks/uniqBy.bench.ts::uniqBy, large arrays::es-toolkit/uniqBy
0%
6.9 ms
6.9 ms
es-toolkit/drop
benchmarks/drop.bench.ts::drop::es-toolkit/drop
0%
19.3 µs
19.4 µs
lodash/clamp
benchmarks/clamp.bench.ts::clamp::lodash/clamp
0%
21.7 µs
21.8 µs
lodash/unionWith
benchmarks/unionWith.bench.ts::unionWith::lodash/unionWith
0%
238.2 µs
239.1 µs
es-toolkit/takeWhile
benchmarks/takeWhile.bench.ts::takeWhile::es-toolkit/takeWhile
0%
22.5 µs
22.6 µs
lodash/uniq
benchmarks/uniq.bench.ts::uniq::lodash/uniq
0%
28.4 µs
28.6 µs
lodash/pick
benchmarks/pick.bench.ts::pick::lodash/pick
-1%
251.7 µs
253 µs
lodash/union
benchmarks/union.bench.ts::union::lodash/union
-1%
75.7 µs
76.1 µs
lodash/uniqBy
benchmarks/uniqBy.bench.ts::uniqBy, small arrays::lodash/uniqBy
-1%
36.6 µs
36.8 µs
lodash/omit
benchmarks/omit.bench.ts::omit::lodash/omit
-1%
90.8 µs
91.3 µs
es-toolkit/intersection
benchmarks/intersection.bench.ts::intersection, small arrays::es-toolkit/intersection
-1%
24.4 µs
24.6 µs
es-toolkit/zipObject
benchmarks/zipObject.bench.ts::zipObject::es-toolkit/zipObject
-1%
23.6 µs
23.8 µs
es-toolkit/differenceBy
benchmarks/differenceBy.bench.ts::differenceBy::es-toolkit/differenceBy
-1%
30.8 µs
31 µs
lodash/take
benchmarks/take.bench.ts::take::lodash/take
-1%
25.9 µs
26.1 µs
lodash/omitBy
benchmarks/omitBy.bench.ts::omitBy::lodash/omitBy
-1%
79 µs
79.6 µs
es-toolkit/clamp
benchmarks/clamp.bench.ts::clamp::es-toolkit/clamp
-1%
20.5 µs
20.7 µs
es-toolkit/round
benchmarks/round.bench.ts::round::es-toolkit/round
-1%
21.4 µs
21.6 µs
es-toolkit/isNil
benchmarks/isNil.bench.ts::isNil::es-toolkit/isNil
-1%
17.8 µs
18 µs
lodash/takeWhile
benchmarks/takeWhile.bench.ts::takeWhile::lodash/takeWhile
-1%
26.8 µs
27.1 µs
lodash/drop
benchmarks/drop.bench.ts::drop::lodash/drop
-1%
26 µs
26.3 µs
es-toolkit/take
benchmarks/take.bench.ts::take::es-toolkit/take
-1%
19.3 µs
19.5 µs
es-toolkit/xorWith
benchmarks/xorWith.bench.ts::xorWith::es-toolkit/xorWith
-3%
69.1 µs
70.8 µs
es-toolkit/uniqWith
benchmarks/uniqWith.bench.ts::uniqWith, small arrays::es-toolkit/uniqWith
-3%
38.3 µs
39.4 µs
lodash/uniqWith
benchmarks/uniqWith.bench.ts::uniqWith, small arrays::lodash/uniqWith
-3%
36.3 µs
37.5 µs

Commits

Click on a commit to change the comparison range
base
main
fc1a8e6
-89%
feat(keyBy): Add support for number and symbol keys
8dfd875
5 months ago
by mass2527
ResourcesHomePricingDocsBlogGitHubChangelog
Copyright © 2024 CodSpeed Technology SAS. All rights reserved.