Skip to content

Commit b28ab2f

Browse files
Mat TaylorMat Taylor
authored andcommitted
new benchmarks
1 parent de06275 commit b28ab2f

File tree

2 files changed

+44
-44
lines changed

2 files changed

+44
-44
lines changed

docs/bench.md

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -20,51 +20,50 @@ For simple object objix performs insanely well, but this drops off quickly when
2020

2121
## Ops/sec (iters: 1000, heats: 100, simple: 10, complex: 0)
2222

23-
| (index) | objix | lodash | vanilla | % Inc | % Err |
24-
| ------- | -------- | -------- | -------- | ------- | ----- |
25-
| Map | 7012.38 | 4195.86 | 1050.79 | 67.13 | 14.8 |
26-
| Pick | 38468.78 | 1126.07 | 1529.99 | 3316.2 | 18.86 |
27-
| Find | 74188.6 | 20799.43 | 15938.13 | 256.69 | 22.95 |
28-
| FlatMap | 1139.13 | 371.25 | | 206.84 | 10.00 |
29-
| KeyBy | 9383.75 | 6485.31 | | 44.69 | 19.94 |
30-
| Equals | 2297.18 | 1340.82 | 1240.04 | 71.33 | 11.84 |
31-
| Clone | 6170.77 | 2091.45 | 8157.8 | 195.05 | 10.62 |
32-
| Deep | 2594.48 | 1381.53 | | 87.8 | 10.77 |
33-
| Extend | 11217.6 | 8173.79 | 4990.64 | 37.24 | 16.67 |
34-
| Some | 5362.03 | 3119.58 | 4735.68 | 71.88 | 9.95 |
35-
| Every | 91059.92 | 6736.96 | 25402.9 | 1251.65 | 20.86 |
36-
| Has | 57978.85 | 7727.63 | 23863.82 | 650.28 | 11.11 |
37-
23+
| (index) | objix | lodash | vanilla | % Inc |
24+
| ------- | -------- | -------- | -------- | ------- |
25+
| Map | 7142.03 | 4298.38 | 1127.06 | 66.16 |
26+
| Pick | 33719.36 | 1087.62 | 1461.99 | 3000.29 |
27+
| Find | 66752.42 | 18973.02 | 15893.9 | 251.83 |
28+
| FlatMap | 1110.51 | 355.17 | | 212.67 |
29+
| Has | 65836.27 | 7888.75 | 24197.48 | 734.56 |
30+
| KeyBy | 9133.08 | 6544.81 | | 39.55 |
31+
| Equals | 1737.02 | 1233.47 | 1044.99 | 40.82 |
32+
| Clone | 4376 | 1922.19 | 8294.3 | 127.66 |
33+
| Deep | 1645.25 | 1260.17 | 851.08 | 30.56 |
34+
| Extend | 10144.26 | 7109.84 | 5162.03 | 42.68 |
35+
| Some | 5271.2 | 3072.82 | 4621.69 | 71.54 |
36+
| Every | 88876.52 | 6520.33 | 24020.42 | 1263.07 |
3837
## Ops/sec (iters: 1000, heats: 100, simple: 10, complex: 1)
3938

40-
| (index) | objix | lodash | vanilla | % Inc | % Err |
41-
| ------- | -------- | -------- | -------- | ------- | ----- |
42-
| Map | 4259.97 | 2944.87 | 866.31 | 44.66 | 12.15 |
43-
| Pick | 7833.53 | 1042.81 | 1282.9 | 651.19 | 10.03 |
44-
| Find | 76332.7 | 20380.14 | 15779.81 | 274.54 | 23.19 |
45-
| FlatMap | 938.09 | 316.96 | | 195.96 | 10.00 |
46-
| KeyBy | 9069.12 | 6443.92 | | 40.74 | 21.64 |
47-
| Equals | 2071.18 | 1223.36 | 1161.06 | 69.3 | 10.07 |
48-
| Clone | 5441.61 | 1849.79 | 7005.51 | 194.17 | 9.63 |
49-
| Deep | 399.3 | 318.94 | | 25.2 | 7.25 |
50-
| Extend | 11065.27 | 7604.92 | 4522.67 | 45.5 | 17.6 |
51-
| Some | 3835.54 | 2530.53 | 3581.07 | 51.57 | 9.2 |
52-
| Every | 88203.64 | 6055.98 | 23058.4 | 1356.47 | 21.38 |
53-
| Has | 92532.96 | 7917.65 | 26882.72 | 1068.69 | 11.11 |
39+
| (index) | objix | lodash | vanilla | % Inc |
40+
| ------- | -------- | -------- | -------- | ------- |
41+
| Map | 4020.67 | 2894.56 | 906.19 | 38.9 |
42+
| Pick | 7381.27 | 975.38 | 1227.37 | 656.76 |
43+
| Find | 73082.8 | 19661.19 | 15543.57 | 271.71 |
44+
| FlatMap | 917.68 | 324.11 | | 183.14 |
45+
| Has | 67305.88 | 7191.75 | 22832.16 | 835.88 |
46+
| KeyBy | 8617.11 | 6198.98 | | 39.01 |
47+
| Equals | 1471.97 | 1061.28 | 1015.04 | 38.7 |
48+
| Clone | 3971.84 | 1703.93 | 7140.16 | 133.1 |
49+
| Deep | 392.24 | 306.98 | 406.49 | 27.77 |
50+
| Extend | 10413.76 | 6539.65 | 4816.44 | 59.24 |
51+
| Some | 3815.55 | 2460.84 | 3541.65 | 55.05 |
52+
| Every | 87646.46 | 5991.74 | 22612 | 1362.79 |
5453

5554
## Ops/sec (iters: 1000, heats: 100, simple: 10, complex: 10)
5655

57-
| (index) | objix | lodash | vanilla | % Inc | % Err |
58-
| ------- | ------- | ------- | ------- | ------ | ----- |
59-
| Map | 656.5 | 680.92 | 216.47 | -3.59 | 6.55 |
60-
| Pick | 795.29 | 433.24 | 275.08 | 83.57 | 4.57 |
61-
| Find | 3741.3 | 3714.32 | 530.39 | 0.73 | 7.26 |
62-
| FlatMap | 342.09 | 136.71 | | 146.11 | 10.23 |
63-
| KeyBy | 9374.13 | 6412.73 | | 46.18 | 20.06 |
64-
| Equals | 471.47 | 432.91 | 439.48 | 8.91 | 4.88 |
65-
| Clone | 984.67 | 801.21 | 294.05 | 22.9 | 4.54 |
66-
| Deep | 68.29 | 206.85 | | -66.99 | 5.93 |
67-
| Extend | 9473.53 | 7550.47 | 230.18 | 25.47 | 12.98 |
68-
| Some | 725.86 | 758.97 | 408.42 | -4.36 | 4.42 |
69-
| Every | 3085.48 | 2110.81 | 621.44 | 46.18 | 5.98 |
70-
| Has | 622.36 | 419.62 | 111.41 | 48.32 | 12.32 |
56+
| (index) | objix | lodash | vanilla | % Inc |
57+
| ------- | ------- | ------- | ------- | ------ |
58+
| Map | 634.32 | 662.87 | 213.74 | -4.31 |
59+
| Pick | 684 | 411.98 | 260.69 | 66.03 |
60+
| Find | 3503.18 | 3686.66 | 495.96 | -4.98 |
61+
| FlatMap | 340.7 | 140.71 | | 142.13 |
62+
| Has | 3130.16 | 2332.44 | 669.67 | 34.2 |
63+
| KeyBy | 8707.16 | 6251.42 | | 39.28 |
64+
| Equals | 452.59 | 451.46 | 442.06 | 0.25 |
65+
| Clone | 1094 | 771.83 | 285.42 | 41.74 |
66+
| Deep | 253.57 | 197.59 | 280.24 | 28.33 |
67+
| Extend | 9176.29 | 7561.72 | 224.22 | 21.35 |
68+
| Some | 697.46 | 705.36 | 384.15 | -1.12 |
69+
| Every | 2793.43 | 1926.93 | 597.55 | 44.97 |

objix.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@ const
5757
return this
5858
},
5959

60+
6061
clone(d, e) {
6162
return !this.is(O) ? this.valueOf()
62-
: (!e && d == -1 && this.size() > 10) ? this.try(structuredClone, () => this.clone(d,1))
63+
: (!e && d == -1 && this.size() > 10) ? this.try(global.structuredClone, () => this.clone(d,1))
6364
: [O,Array].has(this[C]) ? this.map(v => (d && v) ? v.clone(d-1) : v)
6465
: new this[C](this)
6566
},

0 commit comments

Comments
 (0)