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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release master #351

Merged
merged 1 commit into from
Mar 13, 2024
Merged

chore: release master #351

merged 1 commit into from
Mar 13, 2024

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Mar 6, 2024

馃 I have created a release beep boop

persistent-merkle-tree: 0.7.0

0.7.0 (2024-03-12)

Features

ssz: 0.15.0

0.15.0 (2024-03-12)

Features

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/persistent-merkle-tree bumped to 0.7.0

This PR was generated with Release Please. See documentation.

Copy link

github-actions bot commented Mar 6, 2024

Performance Report

鉁旓笍 no performance regression detected

Full benchmark results
Benchmark suite Current: 10e575f Previous: 4ba45d3 Ratio
digestTwoHashObjects 50023 times 48.235 ms/op 47.626 ms/op 1.01
digest64 50023 times 50.086 ms/op 48.766 ms/op 1.03
digest 50023 times 49.827 ms/op 48.562 ms/op 1.03
input length 32 1.2050 us/op 1.1440 us/op 1.05
input length 64 1.3080 us/op 1.2590 us/op 1.04
input length 128 2.2840 us/op 2.1990 us/op 1.04
input length 256 3.3920 us/op 3.2950 us/op 1.03
input length 512 5.5430 us/op 5.4550 us/op 1.02
input length 1024 10.787 us/op 10.734 us/op 1.00
digest 1000000 times 814.47 ms/op 799.75 ms/op 1.02
hashObjectToByteArray 50023 times 1.4291 ms/op 1.4283 ms/op 1.00
byteArrayToHashObject 50023 times 1.9047 ms/op 1.6531 ms/op 1.15
getGindicesAtDepth 4.3640 us/op 3.8300 us/op 1.14
iterateAtDepth 8.9060 us/op 8.1620 us/op 1.09
getGindexBits 466.00 ns/op 409.00 ns/op 1.14
gindexIterator 1.0330 us/op 916.00 ns/op 1.13
hash 2 Uint8Array 2250026 times - as-sha256 2.2684 s/op 2.2241 s/op 1.02
hashTwoObjects 2250026 times - as-sha256 2.1496 s/op 2.1681 s/op 0.99
hash 2 Uint8Array 2250026 times - noble 5.2201 s/op 4.8775 s/op 1.07
hashTwoObjects 2250026 times - noble 7.1660 s/op 7.1266 s/op 1.01
getNodeH() x7812.5 avg hindex 14.642 us/op 14.658 us/op 1.00
getNodeH() x7812.5 index 0 5.1640 us/op 5.0970 us/op 1.01
getNodeH() x7812.5 index 7 5.1340 us/op 5.1230 us/op 1.00
getNodeH() x7812.5 index 7 with key array 5.1430 us/op 5.1580 us/op 1.00
new LeafNode() x7812.5 112.09 us/op 113.92 us/op 0.98
multiproof - depth 15, 1 requested leaves 9.4950 us/op 9.6370 us/op 0.99
tree offset multiproof - depth 15, 1 requested leaves 20.619 us/op 20.741 us/op 0.99
compact multiproof - depth 15, 1 requested leaves 5.4140 us/op 5.5410 us/op 0.98
multiproof - depth 15, 2 requested leaves 13.210 us/op 13.901 us/op 0.95
tree offset multiproof - depth 15, 2 requested leaves 23.721 us/op 24.172 us/op 0.98
compact multiproof - depth 15, 2 requested leaves 3.2800 us/op 3.3590 us/op 0.98
multiproof - depth 15, 3 requested leaves 18.307 us/op 17.930 us/op 1.02
tree offset multiproof - depth 15, 3 requested leaves 30.585 us/op 30.303 us/op 1.01
compact multiproof - depth 15, 3 requested leaves 4.5170 us/op 4.8050 us/op 0.94
multiproof - depth 15, 4 requested leaves 24.216 us/op 24.431 us/op 0.99
tree offset multiproof - depth 15, 4 requested leaves 37.593 us/op 39.128 us/op 0.96
compact multiproof - depth 15, 4 requested leaves 5.3800 us/op 5.5560 us/op 0.97
packedRootsBytesToLeafNodes bytes 4000 offset 0 1.9890 us/op 2.0330 us/op 0.98
packedRootsBytesToLeafNodes bytes 4000 offset 1 1.9690 us/op 2.0170 us/op 0.98
packedRootsBytesToLeafNodes bytes 4000 offset 2 1.9730 us/op 2.0280 us/op 0.97
packedRootsBytesToLeafNodes bytes 4000 offset 3 1.9650 us/op 1.7040 us/op 1.15
subtreeFillToContents depth 40 count 250000 39.787 ms/op 43.040 ms/op 0.92
setRoot - gindexBitstring 9.2305 ms/op 9.1506 ms/op 1.01
setRoot - gindex 9.7978 ms/op 9.7399 ms/op 1.01
getRoot - gindexBitstring 2.4781 ms/op 2.6241 ms/op 0.94
getRoot - gindex 3.5679 ms/op 3.4723 ms/op 1.03
getHashObject then setHashObject 10.783 ms/op 10.609 ms/op 1.02
setNodeWithFn 10.051 ms/op 9.4102 ms/op 1.07
getNodeAtDepth depth 0 x100000 1.1765 ms/op 1.1486 ms/op 1.02
setNodeAtDepth depth 0 x100000 2.6951 ms/op 2.7101 ms/op 0.99
getNodesAtDepth depth 0 x100000 1.0841 ms/op 1.1099 ms/op 0.98
setNodesAtDepth depth 0 x100000 1.4858 ms/op 1.4866 ms/op 1.00
getNodeAtDepth depth 1 x100000 1.2074 ms/op 1.2062 ms/op 1.00
setNodeAtDepth depth 1 x100000 5.9575 ms/op 5.9247 ms/op 1.01
getNodesAtDepth depth 1 x100000 1.2111 ms/op 1.2117 ms/op 1.00
setNodesAtDepth depth 1 x100000 4.9596 ms/op 4.9086 ms/op 1.01
getNodeAtDepth depth 2 x100000 1.4815 ms/op 1.4837 ms/op 1.00
setNodeAtDepth depth 2 x100000 10.097 ms/op 9.9972 ms/op 1.01
getNodesAtDepth depth 2 x100000 19.539 ms/op 21.440 ms/op 0.91
setNodesAtDepth depth 2 x100000 14.905 ms/op 15.040 ms/op 0.99
tree.getNodesAtDepth - gindexes 6.7697 ms/op 8.1878 ms/op 0.83
tree.getNodesAtDepth - push all nodes 2.2965 ms/op 2.4278 ms/op 0.95
tree.getNodesAtDepth - navigation 157.00 us/op 161.35 us/op 0.97
tree.setNodesAtDepth - indexes 401.41 us/op 448.89 us/op 0.89
set at depth 8 550.00 ns/op 592.00 ns/op 0.93
set at depth 16 688.00 ns/op 711.00 ns/op 0.97
set at depth 32 1.0840 us/op 1.1270 us/op 0.96
iterateNodesAtDepth 8 256 14.872 us/op 15.669 us/op 0.95
getNodesAtDepth 8 256 3.5310 us/op 3.6780 us/op 0.96
iterateNodesAtDepth 16 65536 4.6352 ms/op 4.6907 ms/op 0.99
getNodesAtDepth 16 65536 2.0424 ms/op 1.9718 ms/op 1.04
iterateNodesAtDepth 32 250000 19.927 ms/op 16.803 ms/op 1.19
getNodesAtDepth 32 250000 4.9032 ms/op 4.8685 ms/op 1.01
iterateNodesAtDepth 40 250000 17.092 ms/op 18.409 ms/op 0.93
getNodesAtDepth 40 250000 4.2670 ms/op 4.2908 ms/op 0.99
250k validators 7.5797 s/op 7.7304 s/op 0.98
bitlist bytes to struct (120,90) 638.00 ns/op 654.00 ns/op 0.98
bitlist bytes to tree (120,90) 2.8280 us/op 2.4620 us/op 1.15
bitlist bytes to struct (2048,2048) 1.1730 us/op 1.1530 us/op 1.02
bitlist bytes to tree (2048,2048) 3.9540 us/op 3.8170 us/op 1.04
ByteListType - deserialize 10.644 ms/op 9.8241 ms/op 1.08
BasicListType - deserialize 7.9019 ms/op 7.8436 ms/op 1.01
ByteListType - serialize 10.475 ms/op 9.4101 ms/op 1.11
BasicListType - serialize 11.492 ms/op 10.644 ms/op 1.08
BasicListType - tree_convertToStruct 24.130 ms/op 22.142 ms/op 1.09
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.3792 ms/op 4.3290 ms/op 1.24
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.1479 ms/op 4.1392 ms/op 1.00
Array.push len 300000 empty Array - number 7.1936 ms/op 6.5239 ms/op 1.10
Array.set len 300000 from new Array - number 2.8692 ms/op 1.7226 ms/op 1.67
Array.set len 300000 - number 6.9649 ms/op 6.2395 ms/op 1.12
Uint8Array.set len 300000 235.15 us/op 218.87 us/op 1.07
Uint32Array.set len 300000 368.14 us/op 310.11 us/op 1.19
Container({a: uint8, b: uint8}) getViewDU x300000 22.691 ms/op 21.935 ms/op 1.03
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.200 ms/op 9.3042 ms/op 1.20
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 209.85 ms/op 212.00 ms/op 0.99
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 337.60 ms/op 290.60 ms/op 1.16
List(Container) len 300000 ViewDU.get(i) 8.7838 ms/op 7.1609 ms/op 1.23
List(Container) len 300000 ViewDU.getReadonly(i) 8.5088 ms/op 7.2399 ms/op 1.18
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 41.063 ms/op 37.501 ms/op 1.09
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 6.1180 ms/op 5.3845 ms/op 1.14
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.7350 ms/op 6.4858 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 7.0040 ms/op 6.9733 ms/op 1.00
Array.push len 300000 empty Array - object 6.8925 ms/op 6.2557 ms/op 1.10
Array.set len 300000 from new Array - object 2.0183 ms/op 1.8893 ms/op 1.07
Array.set len 300000 - object 6.6480 ms/op 5.7472 ms/op 1.16
cachePermanentRootStruct no cache 9.4090 us/op 9.2100 us/op 1.02
cachePermanentRootStruct with cache 265.00 ns/op 234.00 ns/op 1.13
epochParticipation len 250000 rws 7813 2.3253 ms/op 2.3608 ms/op 0.98
deserialize Attestation - tree 3.2990 us/op 3.0500 us/op 1.08
deserialize Attestation - struct 2.2870 us/op 2.0640 us/op 1.11
deserialize SignedAggregateAndProof - tree 4.2830 us/op 3.7920 us/op 1.13
deserialize SignedAggregateAndProof - struct 3.4330 us/op 3.0050 us/op 1.14
deserialize SyncCommitteeMessage - tree 1.1650 us/op 1.1050 us/op 1.05
deserialize SyncCommitteeMessage - struct 1.3990 us/op 1.1930 us/op 1.17
deserialize SignedContributionAndProof - tree 2.1730 us/op 1.9080 us/op 1.14
deserialize SignedContributionAndProof - struct 3.0080 us/op 2.4710 us/op 1.22
deserialize SignedBeaconBlock - tree 242.08 us/op 214.96 us/op 1.13
deserialize SignedBeaconBlock - struct 146.44 us/op 130.19 us/op 1.12
BeaconState vc 300000 - deserialize tree 596.29 ms/op 587.71 ms/op 1.01
BeaconState vc 300000 - serialize tree 122.07 ms/op 140.04 ms/op 0.87
BeaconState.historicalRoots vc 300000 - deserialize tree 925.00 ns/op 843.00 ns/op 1.10
BeaconState.historicalRoots vc 300000 - serialize tree 854.00 ns/op 711.00 ns/op 1.20
BeaconState.validators vc 300000 - deserialize tree 544.27 ms/op 572.69 ms/op 0.95
BeaconState.validators vc 300000 - serialize tree 106.24 ms/op 111.15 ms/op 0.96
BeaconState.balances vc 300000 - deserialize tree 20.949 ms/op 20.944 ms/op 1.00
BeaconState.balances vc 300000 - serialize tree 4.8148 ms/op 6.9318 ms/op 0.69
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 570.62 us/op 720.41 us/op 0.79
BeaconState.previousEpochParticipation vc 300000 - serialize tree 290.32 us/op 286.56 us/op 1.01
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 561.08 us/op 712.00 us/op 0.79
BeaconState.currentEpochParticipation vc 300000 - serialize tree 292.82 us/op 274.23 us/op 1.07
BeaconState.inactivityScores vc 300000 - deserialize tree 20.493 ms/op 21.634 ms/op 0.95
BeaconState.inactivityScores vc 300000 - serialize tree 4.0156 ms/op 6.4073 ms/op 0.63
hashTreeRoot Attestation - struct 28.322 us/op 31.696 us/op 0.89
hashTreeRoot Attestation - tree 17.872 us/op 21.952 us/op 0.81
hashTreeRoot SignedAggregateAndProof - struct 41.196 us/op 45.271 us/op 0.91
hashTreeRoot SignedAggregateAndProof - tree 28.439 us/op 28.743 us/op 0.99
hashTreeRoot SyncCommitteeMessage - struct 10.017 us/op 11.000 us/op 0.91
hashTreeRoot SyncCommitteeMessage - tree 6.2120 us/op 6.2280 us/op 1.00
hashTreeRoot SignedContributionAndProof - struct 28.414 us/op 33.687 us/op 0.84
hashTreeRoot SignedContributionAndProof - tree 20.041 us/op 23.518 us/op 0.85
hashTreeRoot SignedBeaconBlock - struct 2.3892 ms/op 2.7102 ms/op 0.88
hashTreeRoot SignedBeaconBlock - tree 1.6788 ms/op 1.6762 ms/op 1.00
hashTreeRoot Validator - struct 13.471 us/op 14.709 us/op 0.92
hashTreeRoot Validator - tree 11.784 us/op 12.001 us/op 0.98
BeaconState vc 300000 - hashTreeRoot tree 3.6600 s/op 3.7482 s/op 0.98
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.5080 us/op 1.5960 us/op 0.94
BeaconState.validators vc 300000 - hashTreeRoot tree 3.4913 s/op 3.5672 s/op 0.98
BeaconState.balances vc 300000 - hashTreeRoot tree 85.141 ms/op 89.506 ms/op 0.95
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 9.1583 ms/op 9.0466 ms/op 1.01
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 8.9857 ms/op 9.0494 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 92.281 ms/op 83.307 ms/op 1.11
hash64 x18 19.631 us/op 19.753 us/op 0.99
hashTwoObjects x18 17.912 us/op 17.893 us/op 1.00
hash64 x1740 1.8597 ms/op 1.8814 ms/op 0.99
hashTwoObjects x1740 1.7011 ms/op 1.6963 ms/op 1.00
hash64 x2700000 2.8773 s/op 2.8853 s/op 1.00
hashTwoObjects x2700000 2.6544 s/op 2.6426 s/op 1.00
get_exitEpoch - ContainerType 218.00 ns/op 218.00 ns/op 1.00
get_exitEpoch - ContainerNodeStructType 214.00 ns/op 226.00 ns/op 0.95
set_exitEpoch - ContainerType 251.00 ns/op 271.00 ns/op 0.93
set_exitEpoch - ContainerNodeStructType 227.00 ns/op 229.00 ns/op 0.99
get_pubkey - ContainerType 1.1790 us/op 1.3240 us/op 0.89
get_pubkey - ContainerNodeStructType 222.00 ns/op 235.00 ns/op 0.94
hashTreeRoot - ContainerType 417.00 ns/op 458.00 ns/op 0.91
hashTreeRoot - ContainerNodeStructType 438.00 ns/op 494.00 ns/op 0.89
createProof - ContainerType 4.3090 us/op 4.5150 us/op 0.95
createProof - ContainerNodeStructType 21.834 us/op 24.803 us/op 0.88
serialize - ContainerType 1.8940 us/op 2.0580 us/op 0.92
serialize - ContainerNodeStructType 1.6260 us/op 1.8540 us/op 0.88
set_exitEpoch_and_hashTreeRoot - ContainerType 4.1710 us/op 4.2560 us/op 0.98
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 11.884 us/op 12.032 us/op 0.99
Array - for of 6.0090 us/op 8.6650 us/op 0.69
Array - for(;;) 5.2920 us/op 7.9220 us/op 0.67
basicListValue.readonlyValuesArray() 4.3569 ms/op 4.0973 ms/op 1.06
basicListValue.readonlyValuesArray() + loop all 4.0464 ms/op 4.2278 ms/op 0.96
compositeListValue.readonlyValuesArray() 28.501 ms/op 28.914 ms/op 0.99
compositeListValue.readonlyValuesArray() + loop all 22.705 ms/op 24.675 ms/op 0.92
Number64UintType - get balances list 4.4963 ms/op 4.6193 ms/op 0.97
Number64UintType - set balances list 10.304 ms/op 11.068 ms/op 0.93
Number64UintType - get and increase 10 then set 40.471 ms/op 40.400 ms/op 1.00
Number64UintType - increase 10 using applyDelta 16.838 ms/op 17.962 ms/op 0.94
Number64UintType - increase 10 using applyDeltaInBatch 16.736 ms/op 17.446 ms/op 0.96
tree_newTreeFromUint64Deltas 16.003 ms/op 14.939 ms/op 1.07
unsafeUint8ArrayToTree 31.414 ms/op 28.897 ms/op 1.09
bitLength(50) 237.00 ns/op 241.00 ns/op 0.98
bitLengthStr(50) 254.00 ns/op 253.00 ns/op 1.00
bitLength(8000) 231.00 ns/op 233.00 ns/op 0.99
bitLengthStr(8000) 295.00 ns/op 291.00 ns/op 1.01
bitLength(250000) 232.00 ns/op 236.00 ns/op 0.98
bitLengthStr(250000) 348.00 ns/op 321.00 ns/op 1.08
floor - Math.floor (53) 0.46412 ns/op 0.46388 ns/op 1.00
floor - << 0 (53) 0.46635 ns/op 0.46686 ns/op 1.00
floor - Math.floor (512) 0.46438 ns/op 0.46456 ns/op 1.00
floor - << 0 (512) 0.46438 ns/op 0.46471 ns/op 1.00
fnIf(0) 1.5477 ns/op 1.5471 ns/op 1.00
fnSwitch(0) 2.5203 ns/op 2.4750 ns/op 1.02
fnObj(0) 0.46520 ns/op 0.46390 ns/op 1.00
fnArr(0) 0.47232 ns/op 0.46569 ns/op 1.01
fnIf(4) 2.1642 ns/op 2.1946 ns/op 0.99
fnSwitch(4) 2.5168 ns/op 2.4738 ns/op 1.02
fnObj(4) 0.46425 ns/op 0.47003 ns/op 0.99
fnArr(4) 0.46521 ns/op 0.46557 ns/op 1.00
fnIf(9) 3.1392 ns/op 3.0918 ns/op 1.02
fnSwitch(9) 2.4771 ns/op 2.4740 ns/op 1.00
fnObj(9) 0.46619 ns/op 0.46398 ns/op 1.00
fnArr(9) 0.46486 ns/op 0.46397 ns/op 1.00
Container {a,b,vec} - as struct x100000 46.625 us/op 46.579 us/op 1.00
Container {a,b,vec} - as tree x100000 371.85 us/op 377.55 us/op 0.98
Container {a,vec,b} - as struct x100000 77.812 us/op 77.763 us/op 1.00
Container {a,vec,b} - as tree x100000 403.04 us/op 402.53 us/op 1.00
get 2 props x1000000 - rawObject 310.26 us/op 310.06 us/op 1.00
get 2 props x1000000 - proxy 72.321 ms/op 71.766 ms/op 1.01
get 2 props x1000000 - customObj 309.97 us/op 309.60 us/op 1.00
Simple object binary -> struct 875.00 ns/op 648.00 ns/op 1.35
Simple object binary -> tree_backed 2.3170 us/op 1.7530 us/op 1.32
Simple object struct -> tree_backed 3.0310 us/op 2.2430 us/op 1.35
Simple object tree_backed -> struct 2.4250 us/op 1.8130 us/op 1.34
Simple object struct -> binary 1.2370 us/op 953.00 ns/op 1.30
Simple object tree_backed -> binary 2.0930 us/op 1.5730 us/op 1.33
aggregationBits binary -> struct 853.00 ns/op 581.00 ns/op 1.47
aggregationBits binary -> tree_backed 2.6120 us/op 2.1910 us/op 1.19
aggregationBits struct -> tree_backed 3.0130 us/op 2.6200 us/op 1.15
aggregationBits tree_backed -> struct 1.3020 us/op 1.1230 us/op 1.16
aggregationBits struct -> binary 909.00 ns/op 765.00 ns/op 1.19
aggregationBits tree_backed -> binary 1.1040 us/op 983.00 ns/op 1.12
List(uint8) 100000 binary -> struct 1.3330 ms/op 1.2698 ms/op 1.05
List(uint8) 100000 binary -> tree_backed 94.247 us/op 88.043 us/op 1.07
List(uint8) 100000 struct -> tree_backed 1.3629 ms/op 1.3621 ms/op 1.00
List(uint8) 100000 tree_backed -> struct 1.0076 ms/op 958.63 us/op 1.05
List(uint8) 100000 struct -> binary 1.2354 ms/op 1.2323 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 87.184 us/op 85.924 us/op 1.01
List(uint64Number) 100000 binary -> struct 1.2168 ms/op 1.2487 ms/op 0.97
List(uint64Number) 100000 binary -> tree_backed 3.2108 ms/op 3.1935 ms/op 1.01
List(uint64Number) 100000 struct -> tree_backed 4.8968 ms/op 4.4737 ms/op 1.09
List(uint64Number) 100000 tree_backed -> struct 2.2240 ms/op 2.1630 ms/op 1.03
List(uint64Number) 100000 struct -> binary 1.4386 ms/op 1.5275 ms/op 0.94
List(uint64Number) 100000 tree_backed -> binary 816.05 us/op 786.68 us/op 1.04
List(Uint64Bigint) 100000 binary -> struct 3.3226 ms/op 3.6291 ms/op 0.92
List(Uint64Bigint) 100000 binary -> tree_backed 3.2140 ms/op 3.2235 ms/op 1.00
List(Uint64Bigint) 100000 struct -> tree_backed 5.4922 ms/op 5.4212 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> struct 4.4091 ms/op 4.3966 ms/op 1.00
List(Uint64Bigint) 100000 struct -> binary 2.0840 ms/op 2.1193 ms/op 0.98
List(Uint64Bigint) 100000 tree_backed -> binary 859.39 us/op 862.34 us/op 1.00
Vector(Root) 100000 binary -> struct 30.954 ms/op 26.419 ms/op 1.17
Vector(Root) 100000 binary -> tree_backed 31.868 ms/op 29.695 ms/op 1.07
Vector(Root) 100000 struct -> tree_backed 35.526 ms/op 33.953 ms/op 1.05
Vector(Root) 100000 tree_backed -> struct 44.688 ms/op 42.598 ms/op 1.05
Vector(Root) 100000 struct -> binary 1.9101 ms/op 1.8653 ms/op 1.02
Vector(Root) 100000 tree_backed -> binary 9.0201 ms/op 8.6160 ms/op 1.05
List(Validator) 100000 binary -> struct 96.272 ms/op 103.21 ms/op 0.93
List(Validator) 100000 binary -> tree_backed 271.92 ms/op 283.23 ms/op 0.96
List(Validator) 100000 struct -> tree_backed 313.10 ms/op 295.03 ms/op 1.06
List(Validator) 100000 tree_backed -> struct 199.49 ms/op 191.54 ms/op 1.04
List(Validator) 100000 struct -> binary 34.925 ms/op 32.658 ms/op 1.07
List(Validator) 100000 tree_backed -> binary 101.19 ms/op 101.10 ms/op 1.00
List(Validator-NS) 100000 binary -> struct 98.587 ms/op 103.83 ms/op 0.95
List(Validator-NS) 100000 binary -> tree_backed 156.14 ms/op 150.65 ms/op 1.04
List(Validator-NS) 100000 struct -> tree_backed 196.71 ms/op 185.17 ms/op 1.06
List(Validator-NS) 100000 tree_backed -> struct 153.43 ms/op 148.16 ms/op 1.04
List(Validator-NS) 100000 struct -> binary 35.404 ms/op 31.976 ms/op 1.11
List(Validator-NS) 100000 tree_backed -> binary 36.431 ms/op 37.281 ms/op 0.98
get epochStatuses - MutableVector 92.423 us/op 94.342 us/op 0.98
get epochStatuses - ViewDU 202.86 us/op 196.48 us/op 1.03
set epochStatuses - ListTreeView 1.4526 ms/op 1.3850 ms/op 1.05
set epochStatuses - ListTreeView - set() 435.76 us/op 428.20 us/op 1.02
set epochStatuses - ListTreeView - commit() 410.49 us/op 451.72 us/op 0.91
bitstring 650.01 ns/op 640.48 ns/op 1.01
bit mask 14.103 ns/op 14.475 ns/op 0.97
struct - increase slot to 1000000 929.69 us/op 927.66 us/op 1.00
UintNumberType - increase slot to 1000000 28.504 ms/op 28.514 ms/op 1.00
UintBigintType - increase slot to 1000000 435.75 ms/op 392.56 ms/op 1.11
UintBigint8 x 100000 tree_deserialize 4.7232 ms/op 4.5241 ms/op 1.04
UintBigint8 x 100000 tree_serialize 1.2962 ms/op 1.1976 ms/op 1.08
UintBigint16 x 100000 tree_deserialize 5.3793 ms/op 4.5852 ms/op 1.17
UintBigint16 x 100000 tree_serialize 1.1364 ms/op 1.1336 ms/op 1.00
UintBigint32 x 100000 tree_deserialize 5.1935 ms/op 4.6705 ms/op 1.11
UintBigint32 x 100000 tree_serialize 1.1942 ms/op 1.1907 ms/op 1.00
UintBigint64 x 100000 tree_deserialize 5.6904 ms/op 5.3161 ms/op 1.07
UintBigint64 x 100000 tree_serialize 1.5650 ms/op 1.5686 ms/op 1.00
UintBigint8 x 100000 value_deserialize 433.50 us/op 433.90 us/op 1.00
UintBigint8 x 100000 value_serialize 579.52 us/op 569.09 us/op 1.02
UintBigint16 x 100000 value_deserialize 464.99 us/op 465.01 us/op 1.00
UintBigint16 x 100000 value_serialize 611.60 us/op 607.30 us/op 1.01
UintBigint32 x 100000 value_deserialize 433.58 us/op 433.43 us/op 1.00
UintBigint32 x 100000 value_serialize 612.48 us/op 604.95 us/op 1.01
UintBigint64 x 100000 value_deserialize 466.03 us/op 465.37 us/op 1.00
UintBigint64 x 100000 value_serialize 790.32 us/op 780.15 us/op 1.01
UintBigint8 x 100000 deserialize 4.6803 ms/op 4.5961 ms/op 1.02
UintBigint8 x 100000 serialize 1.4157 ms/op 1.3944 ms/op 1.02
UintBigint16 x 100000 deserialize 4.6840 ms/op 4.5642 ms/op 1.03
UintBigint16 x 100000 serialize 1.4429 ms/op 1.4707 ms/op 0.98
UintBigint32 x 100000 deserialize 5.4756 ms/op 5.2683 ms/op 1.04
UintBigint32 x 100000 serialize 2.8387 ms/op 2.7389 ms/op 1.04
UintBigint64 x 100000 deserialize 4.1742 ms/op 3.6611 ms/op 1.14
UintBigint64 x 100000 serialize 1.5083 ms/op 1.4729 ms/op 1.02
UintBigint128 x 100000 deserialize 5.8398 ms/op 5.7849 ms/op 1.01
UintBigint128 x 100000 serialize 17.173 ms/op 16.333 ms/op 1.05
UintBigint256 x 100000 deserialize 10.814 ms/op 10.805 ms/op 1.00
UintBigint256 x 100000 serialize 52.153 ms/op 49.442 ms/op 1.05
Slice from Uint8Array x25000 989.99 us/op 985.36 us/op 1.00
Slice from ArrayBuffer x25000 17.026 ms/op 17.731 ms/op 0.96
Slice from ArrayBuffer x25000 + new Uint8Array 18.809 ms/op 18.373 ms/op 1.02
Copy Uint8Array 100000 iterate 807.60 us/op 794.62 us/op 1.02
Copy Uint8Array 100000 slice 92.499 us/op 85.020 us/op 1.09
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 92.297 us/op 85.053 us/op 1.09
Copy Buffer 100000 Uint8Array.prototype.slice.call 92.672 us/op 85.049 us/op 1.09
Copy Uint8Array 100000 slice + set 164.06 us/op 146.66 us/op 1.12
Copy Uint8Array 100000 subarray + set 91.925 us/op 84.537 us/op 1.09
Copy Uint8Array 100000 slice arrayBuffer 92.451 us/op 85.222 us/op 1.08
Uint64 deserialize 100000 - iterate Uint8Array 1.7721 ms/op 1.7234 ms/op 1.03
Uint64 deserialize 100000 - by Uint32A 1.7857 ms/op 1.7312 ms/op 1.03
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.7780 ms/op 1.8496 ms/op 0.96
Uint64 deserialize 100000 - by DataView.getBigUint64 4.8652 ms/op 4.8581 ms/op 1.00
Uint64 deserialize 100000 - by byte 65.505 ms/op 65.144 ms/op 1.01

by benchmarkbot/action

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from d6158ab to 6eaaf9b Compare March 10, 2024 07:54
Copy link
Member Author

@wemeetagain wemeetagain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃憤

@twoeths twoeths merged commit 39b39b4 into master Mar 13, 2024
8 checks passed
@twoeths twoeths deleted the release-please--branches--master branch March 13, 2024 01:50
@wemeetagain
Copy link
Member Author

@wemeetagain
Copy link
Member Author

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

None yet

2 participants