Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release master #335

Merged
merged 1 commit into from
Sep 15, 2023
Merged

chore: release master #335

merged 1 commit into from
Sep 15, 2023

Conversation

wemeetagain
Copy link
Member

🤖 I have created a release beep boop

ssz: 0.13.0

0.13.0 (2023-09-14)

Features


This PR was generated with Release Please. See documentation.

@github-actions
Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 9a2877c Previous: 0d60dd0 Ratio
digestTwoHashObjects 50023 times 57.762 ms/op 58.854 ms/op 0.98
digest64 50023 times 60.335 ms/op 60.735 ms/op 0.99
digest 50023 times 60.054 ms/op 60.607 ms/op 0.99
input length 32 1.4530 us/op 1.4560 us/op 1.00
input length 64 1.6200 us/op 1.6070 us/op 1.01
input length 128 2.7880 us/op 2.7690 us/op 1.01
input length 256 4.1280 us/op 4.1530 us/op 0.99
input length 512 6.8190 us/op 6.7790 us/op 1.01
input length 1024 13.421 us/op 13.566 us/op 0.99
digest 1000000 times 1.0497 s/op 1.0475 s/op 1.00
hashObjectToByteArray 50023 times 2.7928 ms/op 2.7317 ms/op 1.02
byteArrayToHashObject 50023 times 3.0676 ms/op 2.7794 ms/op 1.10
getGindicesAtDepth 6.6880 us/op 6.3800 us/op 1.05
iterateAtDepth 13.234 us/op 12.924 us/op 1.02
getGindexBits 609.00 ns/op 578.00 ns/op 1.05
gindexIterator 1.2320 us/op 1.2620 us/op 0.98
hash 2 Uint8Array 2250026 times - as-sha256 2.7521 s/op 2.7744 s/op 0.99
hashTwoObjects 2250026 times - as-sha256 2.6280 s/op 2.6330 s/op 1.00
hash 2 Uint8Array 2250026 times - noble 7.5631 s/op 7.3802 s/op 1.02
hashTwoObjects 2250026 times - noble 11.251 s/op 10.990 s/op 1.02
getNodeH() x7812.5 avg hindex 25.821 us/op 25.865 us/op 1.00
getNodeH() x7812.5 index 0 11.007 us/op 10.967 us/op 1.00
getNodeH() x7812.5 index 7 10.908 us/op 10.916 us/op 1.00
getNodeH() x7812.5 index 7 with key array 10.887 us/op 10.916 us/op 1.00
new LeafNode() x7812.5 207.38 us/op 205.76 us/op 1.01
multiproof - depth 15, 1 requested leaves 14.109 us/op 14.062 us/op 1.00
tree offset multiproof - depth 15, 1 requested leaves 30.234 us/op 30.311 us/op 1.00
compact multiproof - depth 15, 1 requested leaves 8.7780 us/op 8.9890 us/op 0.98
multiproof - depth 15, 2 requested leaves 20.905 us/op 20.701 us/op 1.01
tree offset multiproof - depth 15, 2 requested leaves 36.353 us/op 36.363 us/op 1.00
compact multiproof - depth 15, 2 requested leaves 4.9750 us/op 5.0130 us/op 0.99
multiproof - depth 15, 3 requested leaves 29.631 us/op 28.600 us/op 1.04
tree offset multiproof - depth 15, 3 requested leaves 46.881 us/op 48.050 us/op 0.98
compact multiproof - depth 15, 3 requested leaves 9.0010 us/op 8.8380 us/op 1.02
multiproof - depth 15, 4 requested leaves 36.328 us/op 38.964 us/op 0.93
tree offset multiproof - depth 15, 4 requested leaves 56.725 us/op 60.504 us/op 0.94
compact multiproof - depth 15, 4 requested leaves 9.9430 us/op 9.0360 us/op 1.10
packedRootsBytesToLeafNodes bytes 4000 offset 0 3.9000 us/op 3.5030 us/op 1.11
packedRootsBytesToLeafNodes bytes 4000 offset 1 3.7340 us/op 3.6960 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 2 3.6260 us/op 3.6020 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 3 3.6070 us/op 3.4880 us/op 1.03
subtreeFillToContents depth 40 count 250000 75.143 ms/op 75.574 ms/op 0.99
setRoot - gindexBitstring 17.934 ms/op 18.317 ms/op 0.98
setRoot - gindex 18.361 ms/op 18.043 ms/op 1.02
getRoot - gindexBitstring 4.3644 ms/op 4.3758 ms/op 1.00
getRoot - gindex 4.7634 ms/op 4.8038 ms/op 0.99
getHashObject then setHashObject 19.523 ms/op 20.034 ms/op 0.97
setNodeWithFn 15.789 ms/op 17.181 ms/op 0.92
getNodeAtDepth depth 0 x100000 2.4189 ms/op 2.3717 ms/op 1.02
setNodeAtDepth depth 0 x100000 5.3107 ms/op 5.5493 ms/op 0.96
getNodesAtDepth depth 0 x100000 2.1565 ms/op 2.0954 ms/op 1.03
setNodesAtDepth depth 0 x100000 2.7666 ms/op 2.7978 ms/op 0.99
getNodeAtDepth depth 1 x100000 2.5875 ms/op 2.5242 ms/op 1.03
setNodeAtDepth depth 1 x100000 11.356 ms/op 11.255 ms/op 1.01
getNodesAtDepth depth 1 x100000 2.4291 ms/op 2.3685 ms/op 1.03
setNodesAtDepth depth 1 x100000 9.2068 ms/op 9.1750 ms/op 1.00
getNodeAtDepth depth 2 x100000 3.1529 ms/op 3.1983 ms/op 0.99
setNodeAtDepth depth 2 x100000 18.047 ms/op 20.470 ms/op 0.88
getNodesAtDepth depth 2 x100000 32.480 ms/op 32.082 ms/op 1.01
setNodesAtDepth depth 2 x100000 24.892 ms/op 26.741 ms/op 0.93
tree.getNodesAtDepth - gindexes 11.603 ms/op 11.222 ms/op 1.03
tree.getNodesAtDepth - push all nodes 3.7043 ms/op 3.7664 ms/op 0.98
tree.getNodesAtDepth - navigation 169.35 us/op 168.11 us/op 1.01
tree.setNodesAtDepth - indexes 641.03 us/op 708.96 us/op 0.90
set at depth 8 883.00 ns/op 871.00 ns/op 1.01
set at depth 16 1.1530 us/op 1.1570 us/op 1.00
set at depth 32 1.8530 us/op 1.8150 us/op 1.02
iterateNodesAtDepth 8 256 26.194 us/op 25.954 us/op 1.01
getNodesAtDepth 8 256 6.7020 us/op 6.7290 us/op 1.00
iterateNodesAtDepth 16 65536 7.8469 ms/op 7.3223 ms/op 1.07
getNodesAtDepth 16 65536 3.4372 ms/op 3.5054 ms/op 0.98
iterateNodesAtDepth 32 250000 27.743 ms/op 29.904 ms/op 0.93
getNodesAtDepth 32 250000 9.3084 ms/op 8.2248 ms/op 1.13
iterateNodesAtDepth 40 250000 27.969 ms/op 26.374 ms/op 1.06
getNodesAtDepth 40 250000 9.1831 ms/op 7.7910 ms/op 1.18
250k validators 13.370 s/op 11.935 s/op 1.12
bitlist bytes to struct (120,90) 1.0010 us/op 866.00 ns/op 1.16
bitlist bytes to tree (120,90) 3.6730 us/op 4.0240 us/op 0.91
bitlist bytes to struct (2048,2048) 1.9190 us/op 1.9140 us/op 1.00
bitlist bytes to tree (2048,2048) 6.3630 us/op 6.4460 us/op 0.99
ByteListType - deserialize 18.311 ms/op 18.435 ms/op 0.99
BasicListType - deserialize 15.851 ms/op 14.362 ms/op 1.10
ByteListType - serialize 15.002 ms/op 17.715 ms/op 0.85
BasicListType - serialize 21.021 ms/op 20.932 ms/op 1.00
BasicListType - tree_convertToStruct 40.231 ms/op 32.652 ms/op 1.23
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.9663 ms/op 6.2392 ms/op 0.96
List[uint8, 68719476736] len 300000 ViewDU.get(i) 6.9004 ms/op 6.7988 ms/op 1.01
Array.push len 300000 empty Array - number 9.0612 ms/op 8.6118 ms/op 1.05
Array.set len 300000 from new Array - number 2.3537 ms/op 2.6655 ms/op 0.88
Array.set len 300000 - number 8.0998 ms/op 8.2857 ms/op 0.98
Uint8Array.set len 300000 258.84 us/op 266.81 us/op 0.97
Uint32Array.set len 300000 408.63 us/op 426.34 us/op 0.96
Container({a: uint8, b: uint8}) getViewDU x300000 33.573 ms/op 36.989 ms/op 0.91
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 12.829 ms/op 13.805 ms/op 0.93
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 399.82 ms/op 379.60 ms/op 1.05
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 469.33 ms/op 443.77 ms/op 1.06
List(Container) len 300000 ViewDU.get(i) 11.435 ms/op 11.832 ms/op 0.97
List(Container) len 300000 ViewDU.getReadonly(i) 11.577 ms/op 11.363 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 55.536 ms/op 55.677 ms/op 1.00
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 8.7811 ms/op 8.4361 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 10.114 ms/op 10.485 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 10.304 ms/op 9.9499 ms/op 1.04
Array.push len 300000 empty Array - object 8.5714 ms/op 8.4152 ms/op 1.02
Array.set len 300000 from new Array - object 2.8898 ms/op 2.8028 ms/op 1.03
Array.set len 300000 - object 8.7317 ms/op 8.7698 ms/op 1.00
cachePermanentRootStruct no cache 12.212 us/op 11.941 us/op 1.02
cachePermanentRootStruct with cache 298.00 ns/op 302.00 ns/op 0.99
epochParticipation len 250000 rws 7813 3.3448 ms/op 3.3378 ms/op 1.00
deserialize Attestation - tree 4.3570 us/op 4.2200 us/op 1.03
deserialize Attestation - struct 3.0960 us/op 2.9620 us/op 1.05
deserialize SignedAggregateAndProof - tree 5.7940 us/op 5.4170 us/op 1.07
deserialize SignedAggregateAndProof - struct 5.0500 us/op 4.7420 us/op 1.06
deserialize SyncCommitteeMessage - tree 1.5030 us/op 1.4820 us/op 1.01
deserialize SyncCommitteeMessage - struct 1.8510 us/op 1.8550 us/op 1.00
deserialize SignedContributionAndProof - tree 2.7420 us/op 2.7920 us/op 0.98
deserialize SignedContributionAndProof - struct 4.2950 us/op 4.1220 us/op 1.04
deserialize SignedBeaconBlock - tree 324.98 us/op 325.05 us/op 1.00
deserialize SignedBeaconBlock - struct 219.40 us/op 215.55 us/op 1.02
BeaconState vc 300000 - deserialize tree 1.0202 s/op 1.0236 s/op 1.00
BeaconState vc 300000 - serialize tree 321.56 ms/op 310.79 ms/op 1.03
BeaconState.historicalRoots vc 300000 - deserialize tree 1.2620 us/op 1.2780 us/op 0.99
BeaconState.historicalRoots vc 300000 - serialize tree 1.2610 us/op 1.1770 us/op 1.07
BeaconState.validators vc 300000 - deserialize tree 994.90 ms/op 982.66 ms/op 1.01
BeaconState.validators vc 300000 - serialize tree 271.54 ms/op 274.16 ms/op 0.99
BeaconState.balances vc 300000 - deserialize tree 39.408 ms/op 37.449 ms/op 1.05
BeaconState.balances vc 300000 - serialize tree 5.1906 ms/op 6.5275 ms/op 0.80
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 618.02 us/op 812.80 us/op 0.76
BeaconState.previousEpochParticipation vc 300000 - serialize tree 460.84 us/op 487.92 us/op 0.94
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 619.51 us/op 776.23 us/op 0.80
BeaconState.currentEpochParticipation vc 300000 - serialize tree 459.23 us/op 480.53 us/op 0.96
BeaconState.inactivityScores vc 300000 - deserialize tree 40.744 ms/op 38.746 ms/op 1.05
BeaconState.inactivityScores vc 300000 - serialize tree 5.2329 ms/op 6.1441 ms/op 0.85
hashTreeRoot Attestation - struct 37.945 us/op 38.403 us/op 0.99
hashTreeRoot Attestation - tree 24.887 us/op 25.506 us/op 0.98
hashTreeRoot SignedAggregateAndProof - struct 53.882 us/op 62.022 us/op 0.87
hashTreeRoot SignedAggregateAndProof - tree 34.232 us/op 34.437 us/op 0.99
hashTreeRoot SyncCommitteeMessage - struct 12.611 us/op 12.877 us/op 0.98
hashTreeRoot SyncCommitteeMessage - tree 7.6090 us/op 7.6110 us/op 1.00
hashTreeRoot SignedContributionAndProof - struct 35.648 us/op 36.187 us/op 0.99
hashTreeRoot SignedContributionAndProof - tree 25.105 us/op 24.838 us/op 1.01
hashTreeRoot SignedBeaconBlock - struct 3.2070 ms/op 3.0321 ms/op 1.06
hashTreeRoot SignedBeaconBlock - tree 2.0294 ms/op 2.0427 ms/op 0.99
hashTreeRoot Validator - struct 17.205 us/op 17.489 us/op 0.98
hashTreeRoot Validator - tree 14.061 us/op 14.337 us/op 0.98
BeaconState vc 300000 - hashTreeRoot tree 4.5602 s/op 4.5628 s/op 1.00
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.8360 us/op 1.7590 us/op 1.04
BeaconState.validators vc 300000 - hashTreeRoot tree 4.3033 s/op 4.3048 s/op 1.00
BeaconState.balances vc 300000 - hashTreeRoot tree 102.79 ms/op 111.27 ms/op 0.92
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 11.068 ms/op 11.129 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 11.099 ms/op 11.122 ms/op 1.00
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 112.17 ms/op 111.11 ms/op 1.01
hash64 x18 25.082 us/op 24.860 us/op 1.01
hashTwoObjects x18 21.870 us/op 22.064 us/op 0.99
hash64 x1740 2.3390 ms/op 2.3176 ms/op 1.01
hashTwoObjects x1740 2.0655 ms/op 2.0948 ms/op 0.99
hash64 x2700000 3.6298 s/op 3.6102 s/op 1.01
hashTwoObjects x2700000 3.2110 s/op 3.2600 s/op 0.98
get_exitEpoch - ContainerType 489.00 ns/op 485.00 ns/op 1.01
get_exitEpoch - ContainerNodeStructType 416.00 ns/op 401.00 ns/op 1.04
set_exitEpoch - ContainerType 444.00 ns/op 329.00 ns/op 1.35
set_exitEpoch - ContainerNodeStructType 417.00 ns/op 302.00 ns/op 1.38
get_pubkey - ContainerType 1.6200 us/op 1.5970 us/op 1.01
get_pubkey - ContainerNodeStructType 298.00 ns/op 301.00 ns/op 0.99
hashTreeRoot - ContainerType 524.00 ns/op 514.00 ns/op 1.02
hashTreeRoot - ContainerNodeStructType 564.00 ns/op 567.00 ns/op 0.99
createProof - ContainerType 6.7470 us/op 6.5370 us/op 1.03
createProof - ContainerNodeStructType 34.400 us/op 34.813 us/op 0.99
serialize - ContainerType 2.9470 us/op 2.8360 us/op 1.04
serialize - ContainerNodeStructType 2.4030 us/op 2.2870 us/op 1.05
set_exitEpoch_and_hashTreeRoot - ContainerType 5.4120 us/op 5.3090 us/op 1.02
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 15.160 us/op 15.021 us/op 1.01
Array - for of 14.620 us/op 18.121 us/op 0.81
Array - for(;;) 11.892 us/op 16.614 us/op 0.72
basicListValue.readonlyValuesArray() 5.7022 ms/op 5.5566 ms/op 1.03
basicListValue.readonlyValuesArray() + loop all 5.8727 ms/op 5.7519 ms/op 1.02
compositeListValue.readonlyValuesArray() 55.362 ms/op 39.266 ms/op 1.41
compositeListValue.readonlyValuesArray() + loop all 41.673 ms/op 37.952 ms/op 1.10
Number64UintType - get balances list 6.7734 ms/op 6.3842 ms/op 1.06
Number64UintType - set balances list 14.345 ms/op 15.014 ms/op 0.96
Number64UintType - get and increase 10 then set 61.515 ms/op 57.853 ms/op 1.06
Number64UintType - increase 10 using applyDelta 25.745 ms/op 25.661 ms/op 1.00
Number64UintType - increase 10 using applyDeltaInBatch 26.778 ms/op 26.017 ms/op 1.03
tree_newTreeFromUint64Deltas 28.972 ms/op 26.744 ms/op 1.08
unsafeUint8ArrayToTree 48.719 ms/op 52.044 ms/op 0.94
bitLength(50) 313.00 ns/op 313.00 ns/op 1.00
bitLengthStr(50) 365.00 ns/op 372.00 ns/op 0.98
bitLength(8000) 303.00 ns/op 304.00 ns/op 1.00
bitLengthStr(8000) 506.00 ns/op 502.00 ns/op 1.01
bitLength(250000) 302.00 ns/op 302.00 ns/op 1.00
bitLengthStr(250000) 597.00 ns/op 597.00 ns/op 1.00
floor - Math.floor (53) 0.66993 ns/op 0.66978 ns/op 1.00
floor - << 0 (53) 0.66978 ns/op 0.66980 ns/op 1.00
floor - Math.floor (512) 0.66973 ns/op 0.66982 ns/op 1.00
floor - << 0 (512) 0.66990 ns/op 0.66994 ns/op 1.00
fnIf(0) 3.0124 ns/op 3.0126 ns/op 1.00
fnSwitch(0) 5.0201 ns/op 5.0197 ns/op 1.00
fnObj(0) 0.66996 ns/op 0.67002 ns/op 1.00
fnArr(0) 0.67025 ns/op 0.66969 ns/op 1.00
fnIf(4) 4.3529 ns/op 4.3508 ns/op 1.00
fnSwitch(4) 5.0197 ns/op 5.0206 ns/op 1.00
fnObj(4) 0.66975 ns/op 0.66989 ns/op 1.00
fnArr(4) 0.67004 ns/op 0.66979 ns/op 1.00
fnIf(9) 6.6947 ns/op 6.6958 ns/op 1.00
fnSwitch(9) 5.0222 ns/op 5.0227 ns/op 1.00
fnObj(9) 0.67010 ns/op 0.66979 ns/op 1.00
fnArr(9) 0.66983 ns/op 0.66976 ns/op 1.00
Container {a,b,vec} - as struct x100000 67.370 us/op 67.358 us/op 1.00
Container {a,b,vec} - as tree x100000 837.41 us/op 837.04 us/op 1.00
Container {a,vec,b} - as struct x100000 100.98 us/op 100.81 us/op 1.00
Container {a,vec,b} - as tree x100000 904.32 us/op 903.91 us/op 1.00
get 2 props x1000000 - rawObject 335.14 us/op 335.29 us/op 1.00
get 2 props x1000000 - proxy 144.45 ms/op 144.70 ms/op 1.00
get 2 props x1000000 - customObj 335.21 us/op 335.15 us/op 1.00
Simple object binary -> struct 1.2560 us/op 863.00 ns/op 1.46
Simple object binary -> tree_backed 3.3440 us/op 2.3990 us/op 1.39
Simple object struct -> tree_backed 4.4080 us/op 3.1160 us/op 1.41
Simple object tree_backed -> struct 3.6460 us/op 2.6320 us/op 1.39
Simple object struct -> binary 1.7890 us/op 1.4040 us/op 1.27
Simple object tree_backed -> binary 3.1610 us/op 2.4000 us/op 1.32
aggregationBits binary -> struct 1.1890 us/op 760.00 ns/op 1.56
aggregationBits binary -> tree_backed 3.9770 us/op 3.1560 us/op 1.26
aggregationBits struct -> tree_backed 4.8030 us/op 4.0950 us/op 1.17
aggregationBits tree_backed -> struct 2.0150 us/op 1.6950 us/op 1.19
aggregationBits struct -> binary 1.3690 us/op 1.2260 us/op 1.12
aggregationBits tree_backed -> binary 1.7000 us/op 1.4960 us/op 1.14
List(uint8) 100000 binary -> struct 2.2378 ms/op 2.0855 ms/op 1.07
List(uint8) 100000 binary -> tree_backed 168.49 us/op 165.94 us/op 1.02
List(uint8) 100000 struct -> tree_backed 2.4866 ms/op 2.5075 ms/op 0.99
List(uint8) 100000 tree_backed -> struct 1.7399 ms/op 1.6030 ms/op 1.09
List(uint8) 100000 struct -> binary 2.2846 ms/op 2.3056 ms/op 0.99
List(uint8) 100000 tree_backed -> binary 145.00 us/op 148.36 us/op 0.98
List(uint64Number) 100000 binary -> struct 1.8590 ms/op 1.9179 ms/op 0.97
List(uint64Number) 100000 binary -> tree_backed 5.3334 ms/op 5.6722 ms/op 0.94
List(uint64Number) 100000 struct -> tree_backed 7.8621 ms/op 8.7163 ms/op 0.90
List(uint64Number) 100000 tree_backed -> struct 3.4506 ms/op 3.3398 ms/op 1.03
List(uint64Number) 100000 struct -> binary 2.7319 ms/op 2.6761 ms/op 1.02
List(uint64Number) 100000 tree_backed -> binary 1.5706 ms/op 1.5922 ms/op 0.99
List(Uint64Bigint) 100000 binary -> struct 5.6470 ms/op 5.4418 ms/op 1.04
List(Uint64Bigint) 100000 binary -> tree_backed 6.2636 ms/op 5.6915 ms/op 1.10
List(Uint64Bigint) 100000 struct -> tree_backed 9.4389 ms/op 8.1273 ms/op 1.16
List(Uint64Bigint) 100000 tree_backed -> struct 7.7343 ms/op 7.2772 ms/op 1.06
List(Uint64Bigint) 100000 struct -> binary 3.3286 ms/op 3.3595 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> binary 1.4091 ms/op 1.5219 ms/op 0.93
Vector(Root) 100000 binary -> struct 54.362 ms/op 49.423 ms/op 1.10
Vector(Root) 100000 binary -> tree_backed 57.940 ms/op 57.417 ms/op 1.01
Vector(Root) 100000 struct -> tree_backed 67.719 ms/op 66.494 ms/op 1.02
Vector(Root) 100000 tree_backed -> struct 76.319 ms/op 74.389 ms/op 1.03
Vector(Root) 100000 struct -> binary 3.4102 ms/op 3.5430 ms/op 0.96
Vector(Root) 100000 tree_backed -> binary 14.100 ms/op 14.132 ms/op 1.00
List(Validator) 100000 binary -> struct 204.04 ms/op 192.08 ms/op 1.06
List(Validator) 100000 binary -> tree_backed 509.51 ms/op 484.24 ms/op 1.05
List(Validator) 100000 struct -> tree_backed 566.48 ms/op 551.04 ms/op 1.03
List(Validator) 100000 tree_backed -> struct 323.57 ms/op 304.94 ms/op 1.06
List(Validator) 100000 struct -> binary 53.079 ms/op 51.056 ms/op 1.04
List(Validator) 100000 tree_backed -> binary 139.22 ms/op 134.94 ms/op 1.03
List(Validator-NS) 100000 binary -> struct 206.36 ms/op 203.49 ms/op 1.01
List(Validator-NS) 100000 binary -> tree_backed 279.46 ms/op 273.58 ms/op 1.02
List(Validator-NS) 100000 struct -> tree_backed 349.33 ms/op 341.52 ms/op 1.02
List(Validator-NS) 100000 tree_backed -> struct 285.60 ms/op 284.04 ms/op 1.01
List(Validator-NS) 100000 struct -> binary 52.181 ms/op 51.636 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> binary 59.021 ms/op 57.841 ms/op 1.02
get epochStatuses - MutableVector 143.28 us/op 140.74 us/op 1.02
get epochStatuses - ViewDU 287.89 us/op 293.32 us/op 0.98
set epochStatuses - ListTreeView 2.2169 ms/op 2.1473 ms/op 1.03
set epochStatuses - ListTreeView - set() 645.36 us/op 632.31 us/op 1.02
set epochStatuses - ListTreeView - commit() 688.85 us/op 647.80 us/op 1.06
bitstring 788.07 ns/op 800.75 ns/op 0.98
bit mask 12.764 ns/op 12.899 ns/op 0.99
struct - increase slot to 1000000 2.1864 ms/op 2.1855 ms/op 1.00
UintNumberType - increase slot to 1000000 49.797 ms/op 48.785 ms/op 1.02
UintBigintType - increase slot to 1000000 632.60 ms/op 643.40 ms/op 0.98
UintBigint8 x 100000 tree_deserialize 6.8838 ms/op 6.8770 ms/op 1.00
UintBigint8 x 100000 tree_serialize 2.2646 ms/op 2.2653 ms/op 1.00
UintBigint16 x 100000 tree_deserialize 6.1413 ms/op 6.2761 ms/op 0.98
UintBigint16 x 100000 tree_serialize 2.2190 ms/op 2.2444 ms/op 0.99
UintBigint32 x 100000 tree_deserialize 7.7636 ms/op 8.0848 ms/op 0.96
UintBigint32 x 100000 tree_serialize 2.0828 ms/op 2.1436 ms/op 0.97
UintBigint64 x 100000 tree_deserialize 8.4519 ms/op 8.5868 ms/op 0.98
UintBigint64 x 100000 tree_serialize 2.8035 ms/op 2.9538 ms/op 0.95
UintBigint8 x 100000 value_deserialize 870.53 us/op 870.90 us/op 1.00
UintBigint8 x 100000 value_serialize 1.2348 ms/op 1.3197 ms/op 0.94
UintBigint16 x 100000 value_deserialize 929.73 us/op 932.61 us/op 1.00
UintBigint16 x 100000 value_serialize 1.2904 ms/op 1.3492 ms/op 0.96
UintBigint32 x 100000 value_deserialize 837.08 us/op 837.02 us/op 1.00
UintBigint32 x 100000 value_serialize 1.2997 ms/op 1.3810 ms/op 0.94
UintBigint64 x 100000 value_deserialize 953.06 us/op 956.74 us/op 1.00
UintBigint64 x 100000 value_serialize 1.6526 ms/op 1.7132 ms/op 0.96
UintBigint8 x 100000 deserialize 7.2080 ms/op 6.9238 ms/op 1.04
UintBigint8 x 100000 serialize 2.6905 ms/op 2.6356 ms/op 1.02
UintBigint16 x 100000 deserialize 7.5184 ms/op 6.8312 ms/op 1.10
UintBigint16 x 100000 serialize 2.6516 ms/op 2.6200 ms/op 1.01
UintBigint32 x 100000 deserialize 8.1215 ms/op 8.1666 ms/op 0.99
UintBigint32 x 100000 serialize 4.5388 ms/op 4.5918 ms/op 0.99
UintBigint64 x 100000 deserialize 6.0789 ms/op 5.6472 ms/op 1.08
UintBigint64 x 100000 serialize 2.6539 ms/op 2.7005 ms/op 0.98
UintBigint128 x 100000 deserialize 8.9098 ms/op 8.7612 ms/op 1.02
UintBigint128 x 100000 serialize 27.729 ms/op 29.162 ms/op 0.95
UintBigint256 x 100000 deserialize 16.834 ms/op 16.673 ms/op 1.01
UintBigint256 x 100000 serialize 83.641 ms/op 85.641 ms/op 0.98
Slice from Uint8Array x25000 1.6707 ms/op 1.7312 ms/op 0.97
Slice from ArrayBuffer x25000 29.615 ms/op 29.661 ms/op 1.00
Slice from ArrayBuffer x25000 + new Uint8Array 31.986 ms/op 33.770 ms/op 0.95
Copy Uint8Array 100000 iterate 1.7599 ms/op 1.7642 ms/op 1.00
Copy Uint8Array 100000 slice 287.31 us/op 337.72 us/op 0.85
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 373.82 us/op 325.88 us/op 1.15
Copy Buffer 100000 Uint8Array.prototype.slice.call 354.25 us/op 323.83 us/op 1.09
Copy Uint8Array 100000 slice + set 676.78 us/op 575.21 us/op 1.18
Copy Uint8Array 100000 subarray + set 362.51 us/op 335.35 us/op 1.08
Copy Uint8Array 100000 slice arrayBuffer 359.33 us/op 360.84 us/op 1.00
Uint64 deserialize 100000 - iterate Uint8Array 2.2162 ms/op 2.3371 ms/op 0.95
Uint64 deserialize 100000 - by Uint32A 2.0404 ms/op 2.1325 ms/op 0.96
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.1463 ms/op 2.1990 ms/op 0.98
Uint64 deserialize 100000 - by DataView.getBigUint64 7.1642 ms/op 7.1209 ms/op 1.01
Uint64 deserialize 100000 - by byte 69.212 ms/op 69.241 ms/op 1.00

by benchmarkbot/action

@twoeths twoeths merged commit d18ea08 into master Sep 15, 2023
8 checks passed
@twoeths twoeths deleted the release-please--branches--master branch September 15, 2023 01:22
@wemeetagain
Copy link
Member Author

🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v0.13.0 🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants