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 #337

Merged
merged 1 commit into from
Oct 9, 2023
Merged

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Sep 20, 2023

🤖 I have created a release beep boop

ssz: 0.14.0

0.14.0 (2023-10-04)

Features

  • implement sliceTo() for ListBasicTreeViewDU (#336) (e84686b)

Bug Fixes

  • handle setBitOr in ListBasicTreeViewDU.sliceTo() (#338) (5c5242a)

This PR was generated with Release Please. See documentation.

@github-actions
Copy link

github-actions bot commented Sep 20, 2023

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 7259065 Previous: 5c5242a Ratio
Number64UintType - get balances list 6.1613 ms/op 1.5781 ms/op 3.90
Copy Uint8Array 100000 slice 326.54 us/op 102.88 us/op 3.17

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 7259065 Previous: 5c5242a Ratio
get_exitEpoch - ContainerType 505.00 ns/op 4.6050 us/op 0.11
Full benchmark results
Benchmark suite Current: 7259065 Previous: 5c5242a Ratio
digestTwoHashObjects 50023 times 58.041 ms/op 69.998 ms/op 0.83
digest64 50023 times 60.733 ms/op 72.038 ms/op 0.84
digest 50023 times 60.513 ms/op 72.015 ms/op 0.84
input length 32 1.4860 us/op 1.6140 us/op 0.92
input length 64 1.6080 us/op 1.8430 us/op 0.87
input length 128 2.7770 us/op 3.1970 us/op 0.87
input length 256 4.1130 us/op 4.8910 us/op 0.84
input length 512 6.7780 us/op 8.1580 us/op 0.83
input length 1024 13.544 us/op 15.934 us/op 0.85
digest 1000000 times 1.0558 s/op 1.1814 s/op 0.89
hashObjectToByteArray 50023 times 2.7916 ms/op 1.9987 ms/op 1.40
byteArrayToHashObject 50023 times 2.7231 ms/op 2.1754 ms/op 1.25
getGindicesAtDepth 5.9650 us/op 5.4580 us/op 1.09
iterateAtDepth 12.372 us/op 11.594 us/op 1.07
getGindexBits 542.00 ns/op 581.00 ns/op 0.93
gindexIterator 1.2020 us/op 1.3840 us/op 0.87
hash 2 Uint8Array 2250026 times - as-sha256 2.7701 s/op 3.2153 s/op 0.86
hashTwoObjects 2250026 times - as-sha256 2.6295 s/op 3.1043 s/op 0.85
hash 2 Uint8Array 2250026 times - noble 7.1941 s/op 9.2133 s/op 0.78
hashTwoObjects 2250026 times - noble 10.664 s/op 11.708 s/op 0.91
getNodeH() x7812.5 avg hindex 25.797 us/op 20.801 us/op 1.24
getNodeH() x7812.5 index 0 10.880 us/op 6.7240 us/op 1.62
getNodeH() x7812.5 index 7 10.859 us/op 6.7570 us/op 1.61
getNodeH() x7812.5 index 7 with key array 10.883 us/op 6.8690 us/op 1.58
new LeafNode() x7812.5 197.45 us/op 301.91 us/op 0.65
multiproof - depth 15, 1 requested leaves 13.589 us/op 15.161 us/op 0.90
tree offset multiproof - depth 15, 1 requested leaves 29.511 us/op 32.793 us/op 0.90
compact multiproof - depth 15, 1 requested leaves 8.2970 us/op 8.1070 us/op 1.02
multiproof - depth 15, 2 requested leaves 20.116 us/op 19.026 us/op 1.06
tree offset multiproof - depth 15, 2 requested leaves 34.880 us/op 34.653 us/op 1.01
compact multiproof - depth 15, 2 requested leaves 5.0130 us/op 4.6750 us/op 1.07
multiproof - depth 15, 3 requested leaves 27.961 us/op 25.859 us/op 1.08
tree offset multiproof - depth 15, 3 requested leaves 45.837 us/op 44.358 us/op 1.03
compact multiproof - depth 15, 3 requested leaves 7.1940 us/op 8.2450 us/op 0.87
multiproof - depth 15, 4 requested leaves 34.849 us/op 34.111 us/op 1.02
tree offset multiproof - depth 15, 4 requested leaves 60.077 us/op 54.941 us/op 1.09
compact multiproof - depth 15, 4 requested leaves 8.1560 us/op 9.0750 us/op 0.90
packedRootsBytesToLeafNodes bytes 4000 offset 0 3.4040 us/op 3.0570 us/op 1.11
packedRootsBytesToLeafNodes bytes 4000 offset 1 3.3860 us/op 2.9430 us/op 1.15
packedRootsBytesToLeafNodes bytes 4000 offset 2 3.3880 us/op 2.9940 us/op 1.13
packedRootsBytesToLeafNodes bytes 4000 offset 3 3.3560 us/op 2.9360 us/op 1.14
subtreeFillToContents depth 40 count 250000 79.854 ms/op 77.647 ms/op 1.03
setRoot - gindexBitstring 14.749 ms/op 12.332 ms/op 1.20
setRoot - gindex 15.882 ms/op 14.162 ms/op 1.12
getRoot - gindexBitstring 4.1130 ms/op 3.0714 ms/op 1.34
getRoot - gindex 4.5194 ms/op 4.3611 ms/op 1.04
getHashObject then setHashObject 16.984 ms/op 15.811 ms/op 1.07
setNodeWithFn 14.996 ms/op 13.187 ms/op 1.14
getNodeAtDepth depth 0 x100000 2.3915 ms/op 1.6151 ms/op 1.48
setNodeAtDepth depth 0 x100000 4.7308 ms/op 3.8510 ms/op 1.23
getNodesAtDepth depth 0 x100000 2.0662 ms/op 1.4193 ms/op 1.46
setNodesAtDepth depth 0 x100000 2.7457 ms/op 1.9588 ms/op 1.40
getNodeAtDepth depth 1 x100000 2.6000 ms/op 1.7407 ms/op 1.49
setNodeAtDepth depth 1 x100000 10.138 ms/op 8.1749 ms/op 1.24
getNodesAtDepth depth 1 x100000 2.4065 ms/op 1.5972 ms/op 1.51
setNodesAtDepth depth 1 x100000 8.4573 ms/op 6.8167 ms/op 1.24
getNodeAtDepth depth 2 x100000 3.1890 ms/op 2.1791 ms/op 1.46
setNodeAtDepth depth 2 x100000 16.627 ms/op 13.557 ms/op 1.23
getNodesAtDepth depth 2 x100000 28.607 ms/op 27.167 ms/op 1.05
setNodesAtDepth depth 2 x100000 22.184 ms/op 19.388 ms/op 1.14
tree.getNodesAtDepth - gindexes 9.7739 ms/op 8.0906 ms/op 1.21
tree.getNodesAtDepth - push all nodes 3.2241 ms/op 2.5831 ms/op 1.25
tree.getNodesAtDepth - navigation 169.13 us/op 201.41 us/op 0.84
tree.setNodesAtDepth - indexes 630.73 us/op 514.63 us/op 1.23
set at depth 8 839.00 ns/op 770.00 ns/op 1.09
set at depth 16 933.00 ns/op 1.0730 us/op 0.87
set at depth 32 1.6160 us/op 1.5850 us/op 1.02
iterateNodesAtDepth 8 256 24.532 us/op 19.179 us/op 1.28
getNodesAtDepth 8 256 6.4410 us/op 4.6550 us/op 1.38
iterateNodesAtDepth 16 65536 7.5233 ms/op 5.5630 ms/op 1.35
getNodesAtDepth 16 65536 3.0200 ms/op 2.2936 ms/op 1.32
iterateNodesAtDepth 32 250000 27.024 ms/op 20.565 ms/op 1.31
getNodesAtDepth 32 250000 8.0795 ms/op 5.9578 ms/op 1.36
iterateNodesAtDepth 40 250000 27.256 ms/op 20.549 ms/op 1.33
getNodesAtDepth 40 250000 8.2612 ms/op 6.0014 ms/op 1.38
250k validators 12.008 s/op 12.214 s/op 0.98
bitlist bytes to struct (120,90) 912.00 ns/op 974.00 ns/op 0.94
bitlist bytes to tree (120,90) 3.7140 us/op 3.5110 us/op 1.06
bitlist bytes to struct (2048,2048) 1.8090 us/op 1.9990 us/op 0.90
bitlist bytes to tree (2048,2048) 6.4760 us/op 7.0400 us/op 0.92
ByteListType - deserialize 17.387 ms/op 17.280 ms/op 1.01
BasicListType - deserialize 16.538 ms/op 12.191 ms/op 1.36
ByteListType - serialize 15.238 ms/op 16.425 ms/op 0.93
BasicListType - serialize 21.269 ms/op 19.516 ms/op 1.09
BasicListType - tree_convertToStruct 48.631 ms/op 45.187 ms/op 1.08
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.8198 ms/op 4.6202 ms/op 1.26
List[uint8, 68719476736] len 300000 ViewDU.get(i) 6.7875 ms/op 4.6181 ms/op 1.47
Array.push len 300000 empty Array - number 8.8589 ms/op 8.5740 ms/op 1.03
Array.set len 300000 from new Array - number 2.3997 ms/op 2.1908 ms/op 1.10
Array.set len 300000 - number 8.0125 ms/op 7.6841 ms/op 1.04
Uint8Array.set len 300000 254.94 us/op 242.32 us/op 1.05
Uint32Array.set len 300000 363.67 us/op 348.62 us/op 1.04
Container({a: uint8, b: uint8}) getViewDU x300000 32.830 ms/op 31.758 ms/op 1.03
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 13.212 ms/op 12.330 ms/op 1.07
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 400.44 ms/op 493.58 ms/op 0.81
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 433.12 ms/op 441.42 ms/op 0.98
List(Container) len 300000 ViewDU.get(i) 10.710 ms/op 9.6258 ms/op 1.11
List(Container) len 300000 ViewDU.getReadonly(i) 10.912 ms/op 9.5717 ms/op 1.14
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 60.588 ms/op 53.864 ms/op 1.12
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 7.9425 ms/op 7.7656 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 10.142 ms/op 9.0528 ms/op 1.12
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 9.9333 ms/op 8.7676 ms/op 1.13
Array.push len 300000 empty Array - object 8.9843 ms/op 8.2004 ms/op 1.10
Array.set len 300000 from new Array - object 3.3285 ms/op 2.7479 ms/op 1.21
Array.set len 300000 - object 9.3133 ms/op 7.9597 ms/op 1.17
cachePermanentRootStruct no cache 12.477 us/op 13.838 us/op 0.90
cachePermanentRootStruct with cache 313.00 ns/op 317.00 ns/op 0.99
epochParticipation len 250000 rws 7813 3.3301 ms/op 3.1750 ms/op 1.05
deserialize Attestation - tree 4.3900 us/op 4.6020 us/op 0.95
deserialize Attestation - struct 3.1340 us/op 3.1590 us/op 0.99
deserialize SignedAggregateAndProof - tree 5.8230 us/op 6.0020 us/op 0.97
deserialize SignedAggregateAndProof - struct 5.0910 us/op 4.8070 us/op 1.06
deserialize SyncCommitteeMessage - tree 1.5710 us/op 1.8130 us/op 0.87
deserialize SyncCommitteeMessage - struct 1.8000 us/op 2.0140 us/op 0.89
deserialize SignedContributionAndProof - tree 3.1260 us/op 3.0750 us/op 1.02
deserialize SignedContributionAndProof - struct 4.3720 us/op 4.4790 us/op 0.98
deserialize SignedBeaconBlock - tree 340.25 us/op 334.57 us/op 1.02
deserialize SignedBeaconBlock - struct 211.90 us/op 224.40 us/op 0.94
BeaconState vc 300000 - deserialize tree 1.0022 s/op 838.93 ms/op 1.19
BeaconState vc 300000 - serialize tree 318.32 ms/op 277.73 ms/op 1.15
BeaconState.historicalRoots vc 300000 - deserialize tree 1.0850 us/op 1.3700 us/op 0.79
BeaconState.historicalRoots vc 300000 - serialize tree 1.2070 us/op 1.3110 us/op 0.92
BeaconState.validators vc 300000 - deserialize tree 987.33 ms/op 875.60 ms/op 1.13
BeaconState.validators vc 300000 - serialize tree 272.67 ms/op 201.51 ms/op 1.35
BeaconState.balances vc 300000 - deserialize tree 37.065 ms/op 32.241 ms/op 1.15
BeaconState.balances vc 300000 - serialize tree 5.7475 ms/op 4.6928 ms/op 1.22
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 716.51 us/op 696.88 us/op 1.03
BeaconState.previousEpochParticipation vc 300000 - serialize tree 483.54 us/op 361.32 us/op 1.34
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 702.21 us/op 653.01 us/op 1.08
BeaconState.currentEpochParticipation vc 300000 - serialize tree 473.56 us/op 354.54 us/op 1.34
BeaconState.inactivityScores vc 300000 - deserialize tree 41.302 ms/op 41.347 ms/op 1.00
BeaconState.inactivityScores vc 300000 - serialize tree 5.6386 ms/op 3.5941 ms/op 1.57
hashTreeRoot Attestation - struct 43.498 us/op 41.847 us/op 1.04
hashTreeRoot Attestation - tree 24.491 us/op 29.583 us/op 0.83
hashTreeRoot SignedAggregateAndProof - struct 57.811 us/op 65.688 us/op 0.88
hashTreeRoot SignedAggregateAndProof - tree 39.128 us/op 40.592 us/op 0.96
hashTreeRoot SyncCommitteeMessage - struct 14.502 us/op 13.894 us/op 1.04
hashTreeRoot SyncCommitteeMessage - tree 8.8120 us/op 9.1560 us/op 0.96
hashTreeRoot SignedContributionAndProof - struct 38.795 us/op 38.804 us/op 1.00
hashTreeRoot SignedContributionAndProof - tree 22.908 us/op 29.025 us/op 0.79
hashTreeRoot SignedBeaconBlock - struct 3.2205 ms/op 3.4679 ms/op 0.93
hashTreeRoot SignedBeaconBlock - tree 2.0341 ms/op 2.4238 ms/op 0.84
hashTreeRoot Validator - struct 17.129 us/op 19.356 us/op 0.88
hashTreeRoot Validator - tree 14.113 us/op 15.888 us/op 0.89
BeaconState vc 300000 - hashTreeRoot tree 4.6326 s/op 5.1553 s/op 0.90
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.8800 us/op 2.0320 us/op 0.93
BeaconState.validators vc 300000 - hashTreeRoot tree 4.2904 s/op 4.9387 s/op 0.87
BeaconState.balances vc 300000 - hashTreeRoot tree 104.08 ms/op 125.27 ms/op 0.83
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 11.057 ms/op 13.161 ms/op 0.84
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 11.054 ms/op 13.165 ms/op 0.84
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 103.03 ms/op 135.27 ms/op 0.76
hash64 x18 25.050 us/op 27.837 us/op 0.90
hashTwoObjects x18 21.934 us/op 26.007 us/op 0.84
hash64 x1740 2.3518 ms/op 2.6114 ms/op 0.90
hashTwoObjects x1740 2.0801 ms/op 2.4571 ms/op 0.85
hash64 x2700000 3.6556 s/op 4.0627 s/op 0.90
hashTwoObjects x2700000 3.2243 s/op 3.8030 s/op 0.85
get_exitEpoch - ContainerType 505.00 ns/op 4.6050 us/op 0.11
get_exitEpoch - ContainerNodeStructType 424.00 ns/op 433.00 ns/op 0.98
set_exitEpoch - ContainerType 458.00 ns/op 446.00 ns/op 1.03
set_exitEpoch - ContainerNodeStructType 431.00 ns/op 412.00 ns/op 1.05
get_pubkey - ContainerType 1.5660 us/op 1.9870 us/op 0.79
get_pubkey - ContainerNodeStructType 301.00 ns/op 423.00 ns/op 0.71
hashTreeRoot - ContainerType 543.00 ns/op 698.00 ns/op 0.78
hashTreeRoot - ContainerNodeStructType 593.00 ns/op 761.00 ns/op 0.78
createProof - ContainerType 6.6630 us/op 6.6320 us/op 1.00
createProof - ContainerNodeStructType 34.873 us/op 33.138 us/op 1.05
serialize - ContainerType 2.7840 us/op 2.9940 us/op 0.93
serialize - ContainerNodeStructType 2.3080 us/op 2.3890 us/op 0.97
set_exitEpoch_and_hashTreeRoot - ContainerType 5.3260 us/op 6.0810 us/op 0.88
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 14.838 us/op 16.635 us/op 0.89
Array - for of 12.195 us/op 8.9450 us/op 1.36
Array - for(;;) 8.8670 us/op 8.6570 us/op 1.02
basicListValue.readonlyValuesArray() 5.5923 ms/op 4.4756 ms/op 1.25
basicListValue.readonlyValuesArray() + loop all 5.6698 ms/op 4.5805 ms/op 1.24
compositeListValue.readonlyValuesArray() 53.985 ms/op 34.605 ms/op 1.56
compositeListValue.readonlyValuesArray() + loop all 50.500 ms/op 32.660 ms/op 1.55
Number64UintType - get balances list 6.1613 ms/op 1.5781 ms/op 3.90
Number64UintType - set balances list 14.964 ms/op 11.917 ms/op 1.26
Number64UintType - get and increase 10 then set 61.673 ms/op 43.438 ms/op 1.42
Number64UintType - increase 10 using applyDelta 24.517 ms/op 15.231 ms/op 1.61
Number64UintType - increase 10 using applyDeltaInBatch 24.263 ms/op 14.971 ms/op 1.62
tree_newTreeFromUint64Deltas 28.035 ms/op 23.424 ms/op 1.20
unsafeUint8ArrayToTree 47.615 ms/op 41.735 ms/op 1.14
bitLength(50) 296.00 ns/op 321.00 ns/op 0.92
bitLengthStr(50) 343.00 ns/op 343.00 ns/op 1.00
bitLength(8000) 283.00 ns/op 316.00 ns/op 0.90
bitLengthStr(8000) 471.00 ns/op 402.00 ns/op 1.17
bitLength(250000) 288.00 ns/op 307.00 ns/op 0.94
bitLengthStr(250000) 581.00 ns/op 456.00 ns/op 1.27
floor - Math.floor (53) 0.66958 ns/op 0.60294 ns/op 1.11
floor - << 0 (53) 0.66962 ns/op 0.60284 ns/op 1.11
floor - Math.floor (512) 0.66980 ns/op 0.60264 ns/op 1.11
floor - << 0 (512) 0.66963 ns/op 0.60289 ns/op 1.11
fnIf(0) 3.0118 ns/op 2.0083 ns/op 1.50
fnSwitch(0) 5.0203 ns/op 3.3978 ns/op 1.48
fnObj(0) 0.66972 ns/op 0.60286 ns/op 1.11
fnArr(0) 0.66979 ns/op 0.60289 ns/op 1.11
fnIf(4) 4.3503 ns/op 3.1871 ns/op 1.36
fnSwitch(4) 5.0213 ns/op 3.4053 ns/op 1.47
fnObj(4) 0.66954 ns/op 0.60286 ns/op 1.11
fnArr(4) 0.66959 ns/op 0.60280 ns/op 1.11
fnIf(9) 6.6948 ns/op 5.2256 ns/op 1.28
fnSwitch(9) 5.0196 ns/op 3.3744 ns/op 1.49
fnObj(9) 0.66970 ns/op 0.60272 ns/op 1.11
fnArr(9) 0.66970 ns/op 0.60272 ns/op 1.11
Container {a,b,vec} - as struct x100000 67.388 us/op 60.513 us/op 1.11
Container {a,b,vec} - as tree x100000 836.94 us/op 498.08 us/op 1.68
Container {a,vec,b} - as struct x100000 101.03 us/op 120.74 us/op 0.84
Container {a,vec,b} - as tree x100000 903.92 us/op 554.05 us/op 1.63
get 2 props x1000000 - rawObject 335.01 us/op 401.92 us/op 0.83
get 2 props x1000000 - proxy 144.91 ms/op 93.803 ms/op 1.54
get 2 props x1000000 - customObj 335.05 us/op 401.93 us/op 0.83
Simple object binary -> struct 858.00 ns/op 1.0640 us/op 0.81
Simple object binary -> tree_backed 2.2650 us/op 2.8650 us/op 0.79
Simple object struct -> tree_backed 3.0290 us/op 4.0550 us/op 0.75
Simple object tree_backed -> struct 2.5800 us/op 3.4730 us/op 0.74
Simple object struct -> binary 1.2900 us/op 1.7430 us/op 0.74
Simple object tree_backed -> binary 2.2540 us/op 2.7880 us/op 0.81
aggregationBits binary -> struct 655.00 ns/op 911.00 ns/op 0.72
aggregationBits binary -> tree_backed 3.0330 us/op 3.8960 us/op 0.78
aggregationBits struct -> tree_backed 3.7930 us/op 4.6510 us/op 0.82
aggregationBits tree_backed -> struct 1.5630 us/op 1.9680 us/op 0.79
aggregationBits struct -> binary 1.1410 us/op 1.4310 us/op 0.80
aggregationBits tree_backed -> binary 1.3570 us/op 1.7530 us/op 0.77
List(uint8) 100000 binary -> struct 2.1807 ms/op 1.8263 ms/op 1.19
List(uint8) 100000 binary -> tree_backed 158.94 us/op 138.47 us/op 1.15
List(uint8) 100000 struct -> tree_backed 2.3411 ms/op 1.7226 ms/op 1.36
List(uint8) 100000 tree_backed -> struct 1.6508 ms/op 1.2382 ms/op 1.33
List(uint8) 100000 struct -> binary 2.1833 ms/op 1.5630 ms/op 1.40
List(uint8) 100000 tree_backed -> binary 144.67 us/op 93.805 us/op 1.54
List(uint64Number) 100000 binary -> struct 1.8287 ms/op 1.5458 ms/op 1.18
List(uint64Number) 100000 binary -> tree_backed 5.2193 ms/op 4.7192 ms/op 1.11
List(uint64Number) 100000 struct -> tree_backed 7.9978 ms/op 6.7476 ms/op 1.19
List(uint64Number) 100000 tree_backed -> struct 3.4617 ms/op 2.6547 ms/op 1.30
List(uint64Number) 100000 struct -> binary 2.6446 ms/op 2.0306 ms/op 1.30
List(uint64Number) 100000 tree_backed -> binary 1.6209 ms/op 1.0072 ms/op 1.61
List(Uint64Bigint) 100000 binary -> struct 6.0381 ms/op 4.8420 ms/op 1.25
List(Uint64Bigint) 100000 binary -> tree_backed 5.4022 ms/op 4.7200 ms/op 1.14
List(Uint64Bigint) 100000 struct -> tree_backed 8.9399 ms/op 7.7328 ms/op 1.16
List(Uint64Bigint) 100000 tree_backed -> struct 7.7999 ms/op 6.0175 ms/op 1.30
List(Uint64Bigint) 100000 struct -> binary 3.3515 ms/op 2.6382 ms/op 1.27
List(Uint64Bigint) 100000 tree_backed -> binary 1.3793 ms/op 1.2158 ms/op 1.13
Vector(Root) 100000 binary -> struct 55.109 ms/op 50.645 ms/op 1.09
Vector(Root) 100000 binary -> tree_backed 58.842 ms/op 51.027 ms/op 1.15
Vector(Root) 100000 struct -> tree_backed 65.991 ms/op 58.372 ms/op 1.13
Vector(Root) 100000 tree_backed -> struct 76.206 ms/op 63.002 ms/op 1.21
Vector(Root) 100000 struct -> binary 3.3469 ms/op 2.6083 ms/op 1.28
Vector(Root) 100000 tree_backed -> binary 13.677 ms/op 11.422 ms/op 1.20
List(Validator) 100000 binary -> struct 203.67 ms/op 177.06 ms/op 1.15
List(Validator) 100000 binary -> tree_backed 503.26 ms/op 483.88 ms/op 1.04
List(Validator) 100000 struct -> tree_backed 558.09 ms/op 508.91 ms/op 1.10
List(Validator) 100000 tree_backed -> struct 315.19 ms/op 273.48 ms/op 1.15
List(Validator) 100000 struct -> binary 51.063 ms/op 41.012 ms/op 1.25
List(Validator) 100000 tree_backed -> binary 139.57 ms/op 113.44 ms/op 1.23
List(Validator-NS) 100000 binary -> struct 205.63 ms/op 181.10 ms/op 1.14
List(Validator-NS) 100000 binary -> tree_backed 271.19 ms/op 243.44 ms/op 1.11
List(Validator-NS) 100000 struct -> tree_backed 346.94 ms/op 297.89 ms/op 1.16
List(Validator-NS) 100000 tree_backed -> struct 291.26 ms/op 241.68 ms/op 1.21
List(Validator-NS) 100000 struct -> binary 52.372 ms/op 41.059 ms/op 1.28
List(Validator-NS) 100000 tree_backed -> binary 64.138 ms/op 46.618 ms/op 1.38
get epochStatuses - MutableVector 144.55 us/op 100.04 us/op 1.44
get epochStatuses - ViewDU 290.09 us/op 241.03 us/op 1.20
set epochStatuses - ListTreeView 1.9797 ms/op 1.9437 ms/op 1.02
set epochStatuses - ListTreeView - set() 623.07 us/op 602.09 us/op 1.03
set epochStatuses - ListTreeView - commit() 646.10 us/op 551.09 us/op 1.17
bitstring 773.45 ns/op 923.08 ns/op 0.84
bit mask 12.757 ns/op 14.487 ns/op 0.88
struct - increase slot to 1000000 2.1863 ms/op 1.8931 ms/op 1.15
UintNumberType - increase slot to 1000000 68.604 ms/op 36.964 ms/op 1.86
UintBigintType - increase slot to 1000000 627.48 ms/op 571.84 ms/op 1.10
UintBigint8 x 100000 tree_deserialize 6.6342 ms/op 5.5456 ms/op 1.20
UintBigint8 x 100000 tree_serialize 2.2627 ms/op 1.1480 ms/op 1.97
UintBigint16 x 100000 tree_deserialize 6.1889 ms/op 5.1609 ms/op 1.20
UintBigint16 x 100000 tree_serialize 2.1966 ms/op 2.0151 ms/op 1.09
UintBigint32 x 100000 tree_deserialize 7.8797 ms/op 6.3096 ms/op 1.25
UintBigint32 x 100000 tree_serialize 2.0657 ms/op 1.5897 ms/op 1.30
UintBigint64 x 100000 tree_deserialize 8.4530 ms/op 6.5380 ms/op 1.29
UintBigint64 x 100000 tree_serialize 2.7709 ms/op 2.0794 ms/op 1.33
UintBigint8 x 100000 value_deserialize 874.92 us/op 541.67 us/op 1.62
UintBigint8 x 100000 value_serialize 1.2337 ms/op 921.93 us/op 1.34
UintBigint16 x 100000 value_deserialize 935.70 us/op 581.27 us/op 1.61
UintBigint16 x 100000 value_serialize 1.2708 ms/op 976.47 us/op 1.30
UintBigint32 x 100000 value_deserialize 836.99 us/op 539.90 us/op 1.55
UintBigint32 x 100000 value_serialize 1.2990 ms/op 960.74 us/op 1.35
UintBigint64 x 100000 value_deserialize 951.52 us/op 613.33 us/op 1.55
UintBigint64 x 100000 value_serialize 1.6334 ms/op 1.2218 ms/op 1.34
UintBigint8 x 100000 deserialize 7.4526 ms/op 6.3938 ms/op 1.17
UintBigint8 x 100000 serialize 2.6670 ms/op 1.9289 ms/op 1.38
UintBigint16 x 100000 deserialize 7.2787 ms/op 6.0533 ms/op 1.20
UintBigint16 x 100000 serialize 2.6233 ms/op 1.9870 ms/op 1.32
UintBigint32 x 100000 deserialize 8.3292 ms/op 7.2425 ms/op 1.15
UintBigint32 x 100000 serialize 4.3360 ms/op 3.8573 ms/op 1.12
UintBigint64 x 100000 deserialize 6.0143 ms/op 4.8229 ms/op 1.25
UintBigint64 x 100000 serialize 2.6601 ms/op 1.9024 ms/op 1.40
UintBigint128 x 100000 deserialize 8.9186 ms/op 7.6985 ms/op 1.16
UintBigint128 x 100000 serialize 27.804 ms/op 21.665 ms/op 1.28
UintBigint256 x 100000 deserialize 16.723 ms/op 13.797 ms/op 1.21
UintBigint256 x 100000 serialize 83.637 ms/op 65.014 ms/op 1.29
Slice from Uint8Array x25000 1.6507 ms/op 1.3632 ms/op 1.21
Slice from ArrayBuffer x25000 27.725 ms/op 27.835 ms/op 1.00
Slice from ArrayBuffer x25000 + new Uint8Array 30.454 ms/op 32.570 ms/op 0.94
Copy Uint8Array 100000 iterate 1.7412 ms/op 1.0621 ms/op 1.64
Copy Uint8Array 100000 slice 326.54 us/op 102.88 us/op 3.17
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 333.97 us/op 280.73 us/op 1.19
Copy Buffer 100000 Uint8Array.prototype.slice.call 326.31 us/op 288.01 us/op 1.13
Copy Uint8Array 100000 slice + set 659.48 us/op 556.43 us/op 1.19
Copy Uint8Array 100000 subarray + set 324.61 us/op 280.93 us/op 1.16
Copy Uint8Array 100000 slice arrayBuffer 339.62 us/op 280.97 us/op 1.21
Uint64 deserialize 100000 - iterate Uint8Array 2.1491 ms/op 2.1028 ms/op 1.02
Uint64 deserialize 100000 - by Uint32A 1.9640 ms/op 2.0150 ms/op 0.97
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0881 ms/op 1.9891 ms/op 1.05
Uint64 deserialize 100000 - by DataView.getBigUint64 7.0503 ms/op 5.9090 ms/op 1.19
Uint64 deserialize 100000 - by byte 69.145 ms/op 72.899 ms/op 0.95

by benchmarkbot/action

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from f44232c to 2e12ed6 Compare October 4, 2023 08:42
@wemeetagain wemeetagain merged commit 93ab30e into master Oct 9, 2023
7 of 8 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master branch October 9, 2023 19:43
@wemeetagain
Copy link
Member Author

🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v0.14.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