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

fix(ssz): empty commit to trigger release from package.json fix #445

Merged
merged 1 commit into from
Jan 18, 2025

Conversation

matthewkeil
Copy link
Member

#444 MUST be merged before this PR

Motivation

Release ssz patch

Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d837d79 Previous: 7c6ce61 Ratio
digestTwoHashObjects 50023 times 48.581 ms/op 48.741 ms/op 1.00
digest2Bytes32 50023 times 54.917 ms/op 54.968 ms/op 1.00
digest 50023 times 53.894 ms/op 53.952 ms/op 1.00
input length 32 1.1670 us/op 1.1960 us/op 0.98
input length 64 1.3080 us/op 1.3280 us/op 0.98
input length 128 2.2290 us/op 2.2820 us/op 0.98
input length 256 3.3380 us/op 3.3600 us/op 0.99
input length 512 5.5210 us/op 5.5210 us/op 1.00
input length 1024 10.772 us/op 10.735 us/op 1.00
digest 1000000 times 848.57 ms/op 875.60 ms/op 0.97
hashObjectToByteArray 50023 times 1.2292 ms/op 1.2286 ms/op 1.00
byteArrayToHashObject 50023 times 1.5327 ms/op 1.6813 ms/op 0.91
digest64 200092 times 215.43 ms/op 214.14 ms/op 1.01
hash 200092 times using batchHash4UintArray64s 238.72 ms/op 236.28 ms/op 1.01
digest64HashObjects 200092 times 193.48 ms/op 193.58 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 201.27 ms/op 195.48 ms/op 1.03
getGindicesAtDepth 3.4540 us/op 3.6810 us/op 0.94
iterateAtDepth 6.1860 us/op 6.6460 us/op 0.93
getGindexBits 385.00 ns/op 409.00 ns/op 0.94
gindexIterator 854.00 ns/op 895.00 ns/op 0.95
HashComputationLevel.push then loop 25.350 ms/op 26.791 ms/op 0.95
HashComputation[] push then loop 47.015 ms/op 39.357 ms/op 1.19
hash 2 Uint8Array 500000 times - hashtree 212.94 ms/op 220.11 ms/op 0.97
hashTwoObjects 500000 times - hashtree 211.92 ms/op 241.68 ms/op 0.88
executeHashComputations - hashtree 10.044 ms/op 10.193 ms/op 0.99
hash 2 Uint8Array 500000 times - as-sha256 562.56 ms/op 567.94 ms/op 0.99
hashTwoObjects 500000 times - as-sha256 515.05 ms/op 510.93 ms/op 1.01
executeHashComputations - as-sha256 47.458 ms/op 45.601 ms/op 1.04
hash 2 Uint8Array 500000 times - noble 1.2270 s/op 1.3025 s/op 0.94
hashTwoObjects 500000 times - noble 1.6165 s/op 1.8027 s/op 0.90
executeHashComputations - noble 37.842 ms/op 37.356 ms/op 1.01
getHashComputations 2.1019 ms/op 2.5649 ms/op 0.82
executeHashComputations 9.2147 ms/op 9.7450 ms/op 0.95
get root 15.450 ms/op 15.677 ms/op 0.99
getNodeH() x7812.5 avg hindex 12.224 us/op 12.437 us/op 0.98
getNodeH() x7812.5 index 0 7.5440 us/op 7.5120 us/op 1.00
getNodeH() x7812.5 index 7 7.6930 us/op 7.5440 us/op 1.02
getNodeH() x7812.5 index 7 with key array 6.2810 us/op 6.3990 us/op 0.98
new LeafNode() x7812.5 307.75 us/op 476.32 us/op 0.65
getHashComputations 250000 nodes 14.568 ms/op 16.139 ms/op 0.90
batchHash 250000 nodes 84.577 ms/op 88.603 ms/op 0.95
get root 250000 nodes 116.71 ms/op 117.13 ms/op 1.00
getHashComputations 500000 nodes 28.083 ms/op 29.204 ms/op 0.96
batchHash 500000 nodes 152.44 ms/op 159.73 ms/op 0.95
get root 500000 nodes 237.50 ms/op 234.32 ms/op 1.01
getHashComputations 1000000 nodes 61.587 ms/op 83.344 ms/op 0.74
batchHash 1000000 nodes 372.05 ms/op 386.32 ms/op 0.96
get root 1000000 nodes 467.77 ms/op 473.15 ms/op 0.99
multiproof - depth 15, 1 requested leaves 8.5180 us/op 8.7460 us/op 0.97
tree offset multiproof - depth 15, 1 requested leaves 18.000 us/op 19.798 us/op 0.91
compact multiproof - depth 15, 1 requested leaves 3.1800 us/op 3.4110 us/op 0.93
multiproof - depth 15, 2 requested leaves 11.800 us/op 12.441 us/op 0.95
tree offset multiproof - depth 15, 2 requested leaves 21.810 us/op 23.255 us/op 0.94
compact multiproof - depth 15, 2 requested leaves 3.1700 us/op 3.5800 us/op 0.89
multiproof - depth 15, 3 requested leaves 16.891 us/op 16.807 us/op 1.00
tree offset multiproof - depth 15, 3 requested leaves 28.443 us/op 29.015 us/op 0.98
compact multiproof - depth 15, 3 requested leaves 3.8790 us/op 4.3050 us/op 0.90
multiproof - depth 15, 4 requested leaves 22.323 us/op 23.975 us/op 0.93
tree offset multiproof - depth 15, 4 requested leaves 34.412 us/op 38.410 us/op 0.90
compact multiproof - depth 15, 4 requested leaves 4.5770 us/op 5.7290 us/op 0.80
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.8250 us/op 6.3680 us/op 0.91
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.8130 us/op 6.2690 us/op 0.93
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.7240 us/op 6.6780 us/op 0.86
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.7650 us/op 6.2530 us/op 0.92
subtreeFillToContents depth 40 count 250000 38.948 ms/op 49.117 ms/op 0.79
setRoot - gindexBitstring 19.741 ms/op 27.897 ms/op 0.71
setRoot - gindex 20.368 ms/op 25.670 ms/op 0.79
getRoot - gindexBitstring 2.4471 ms/op 2.9305 ms/op 0.84
getRoot - gindex 3.0574 ms/op 3.6564 ms/op 0.84
getHashObject then setHashObject 20.553 ms/op 28.342 ms/op 0.73
setNodeWithFn 18.536 ms/op 25.055 ms/op 0.74
getNodeAtDepth depth 0 x100000 283.57 us/op 280.21 us/op 1.01
setNodeAtDepth depth 0 x100000 2.2648 ms/op 2.7490 ms/op 0.82
getNodesAtDepth depth 0 x100000 312.26 us/op 312.17 us/op 1.00
setNodesAtDepth depth 0 x100000 766.37 us/op 759.63 us/op 1.01
getNodeAtDepth depth 1 x100000 342.42 us/op 342.64 us/op 1.00
setNodeAtDepth depth 1 x100000 7.4573 ms/op 8.9980 ms/op 0.83
getNodesAtDepth depth 1 x100000 437.45 us/op 437.36 us/op 1.00
setNodesAtDepth depth 1 x100000 6.2510 ms/op 9.3770 ms/op 0.67
getNodeAtDepth depth 2 x100000 995.65 us/op 763.59 us/op 1.30
setNodeAtDepth depth 2 x100000 14.463 ms/op 19.032 ms/op 0.76
getNodesAtDepth depth 2 x100000 17.110 ms/op 20.630 ms/op 0.83
setNodesAtDepth depth 2 x100000 21.091 ms/op 28.564 ms/op 0.74
tree.getNodesAtDepth - gindexes 7.7141 ms/op 11.896 ms/op 0.65
tree.getNodesAtDepth - push all nodes 2.0199 ms/op 2.8585 ms/op 0.71
tree.getNodesAtDepth - navigation 311.52 us/op 313.88 us/op 0.99
tree.setNodesAtDepth - indexes 671.21 us/op 923.31 us/op 0.73
set at depth 8 719.00 ns/op 970.00 ns/op 0.74
set at depth 16 1.0630 us/op 1.3770 us/op 0.77
set at depth 32 1.8140 us/op 2.2330 us/op 0.81
iterateNodesAtDepth 8 256 13.504 us/op 15.276 us/op 0.88
getNodesAtDepth 8 256 3.5260 us/op 4.1460 us/op 0.85
iterateNodesAtDepth 16 65536 4.1855 ms/op 5.4222 ms/op 0.77
getNodesAtDepth 16 65536 1.6759 ms/op 1.6474 ms/op 1.02
iterateNodesAtDepth 32 250000 15.574 ms/op 16.120 ms/op 0.97
getNodesAtDepth 32 250000 4.5943 ms/op 4.6920 ms/op 0.98
iterateNodesAtDepth 40 250000 15.863 ms/op 16.458 ms/op 0.96
getNodesAtDepth 40 250000 4.5770 ms/op 4.6999 ms/op 0.97
250000 validators root getter 116.77 ms/op 118.17 ms/op 0.99
250000 validators batchHash() 87.671 ms/op 100.34 ms/op 0.87
250000 validators hashComputations 18.165 ms/op 19.620 ms/op 0.93
bitlist bytes to struct (120,90) 895.00 ns/op 837.00 ns/op 1.07
bitlist bytes to tree (120,90) 3.4260 us/op 2.8810 us/op 1.19
bitlist bytes to struct (2048,2048) 1.3190 us/op 1.6100 us/op 0.82
bitlist bytes to tree (2048,2048) 5.3310 us/op 6.0540 us/op 0.88
ByteListType - deserialize 8.5557 ms/op 12.644 ms/op 0.68
BasicListType - deserialize 16.317 ms/op 16.531 ms/op 0.99
ByteListType - serialize 7.5274 ms/op 8.4285 ms/op 0.89
BasicListType - serialize 10.450 ms/op 10.689 ms/op 0.98
BasicListType - tree_convertToStruct 28.488 ms/op 27.664 ms/op 1.03
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.8913 ms/op 5.1153 ms/op 0.96
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.2282 ms/op 4.2448 ms/op 1.00
Array.push len 300000 empty Array - number 6.3270 ms/op 7.3303 ms/op 0.86
Array.set len 300000 from new Array - number 1.9783 ms/op 1.7864 ms/op 1.11
Array.set len 300000 - number 6.2662 ms/op 6.2250 ms/op 1.01
Uint8Array.set len 300000 475.37 us/op 494.41 us/op 0.96
Uint32Array.set len 300000 534.22 us/op 574.07 us/op 0.93
Container({a: uint8, b: uint8}) getViewDU x300000 24.753 ms/op 26.477 ms/op 0.93
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.492 ms/op 11.200 ms/op 0.94
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 200.33 ms/op 220.88 ms/op 0.91
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 223.35 ms/op 274.70 ms/op 0.81
List(Container) len 300000 ViewDU.get(i) 6.2483 ms/op 7.4201 ms/op 0.84
List(Container) len 300000 ViewDU.getReadonly(i) 6.0900 ms/op 7.2268 ms/op 0.84
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 36.724 ms/op 38.620 ms/op 0.95
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 4.9755 ms/op 5.7864 ms/op 0.86
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.1878 ms/op 6.5384 ms/op 0.95
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.0702 ms/op 6.8361 ms/op 0.89
Array.push len 300000 empty Array - object 6.5965 ms/op 7.0619 ms/op 0.93
Array.set len 300000 from new Array - object 1.8410 ms/op 2.0874 ms/op 0.88
Array.set len 300000 - object 5.5667 ms/op 6.7077 ms/op 0.83
cachePermanentRootStruct no cache 5.0280 us/op 5.8700 us/op 0.86
cachePermanentRootStruct with cache 194.00 ns/op 234.00 ns/op 0.83
epochParticipation len 250000 rws 7813 2.2134 ms/op 2.3194 ms/op 0.95
BeaconState ViewDU hashTreeRoot() vc=200000 116.90 ms/op 116.98 ms/op 1.00
BeaconState ViewDU recursive hash - commit step vc=200000 4.6036 ms/op 4.9737 ms/op 0.93
BeaconState ViewDU validator tree creation vc=10000 38.741 ms/op 40.516 ms/op 0.96
BeaconState ViewDU batchHashTreeRoot vc=200000 100.71 ms/op 108.20 ms/op 0.93
BeaconState ViewDU hashTreeRoot - commit step vc=200000 90.130 ms/op 95.600 ms/op 0.94
BeaconState ViewDU hashTreeRoot - hash step vc=200000 16.076 ms/op 20.308 ms/op 0.79
deserialize Attestation - tree 3.5990 us/op 4.3040 us/op 0.84
deserialize Attestation - struct 1.8000 us/op 2.1940 us/op 0.82
deserialize SignedAggregateAndProof - tree 4.7700 us/op 5.5320 us/op 0.86
deserialize SignedAggregateAndProof - struct 2.9470 us/op 3.4880 us/op 0.84
deserialize SyncCommitteeMessage - tree 1.3690 us/op 1.5930 us/op 0.86
deserialize SyncCommitteeMessage - struct 1.0820 us/op 1.1390 us/op 0.95
deserialize SignedContributionAndProof - tree 2.8680 us/op 3.1490 us/op 0.91
deserialize SignedContributionAndProof - struct 2.1750 us/op 2.8310 us/op 0.77
deserialize SignedBeaconBlock - tree 278.18 us/op 340.28 us/op 0.82
deserialize SignedBeaconBlock - struct 118.08 us/op 147.16 us/op 0.80
BeaconState vc 300000 - deserialize tree 618.53 ms/op 677.60 ms/op 0.91
BeaconState vc 300000 - serialize tree 176.48 ms/op 133.11 ms/op 1.33
BeaconState.historicalRoots vc 300000 - deserialize tree 837.00 ns/op 868.00 ns/op 0.96
BeaconState.historicalRoots vc 300000 - serialize tree 629.00 ns/op 738.00 ns/op 0.85
BeaconState.validators vc 300000 - deserialize tree 592.21 ms/op 643.85 ms/op 0.92
BeaconState.validators vc 300000 - serialize tree 111.36 ms/op 110.95 ms/op 1.00
BeaconState.balances vc 300000 - deserialize tree 21.212 ms/op 26.714 ms/op 0.79
BeaconState.balances vc 300000 - serialize tree 4.0244 ms/op 4.2914 ms/op 0.94
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 962.70 us/op 1.0537 ms/op 0.91
BeaconState.previousEpochParticipation vc 300000 - serialize tree 338.72 us/op 325.70 us/op 1.04
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 994.12 us/op 1.0264 ms/op 0.97
BeaconState.currentEpochParticipation vc 300000 - serialize tree 334.43 us/op 327.56 us/op 1.02
BeaconState.inactivityScores vc 300000 - deserialize tree 27.111 ms/op 26.985 ms/op 1.00
BeaconState.inactivityScores vc 300000 - serialize tree 4.2267 ms/op 5.0875 ms/op 0.83
hashTreeRoot Attestation - struct 17.739 us/op 21.132 us/op 0.84
hashTreeRoot Attestation - tree 9.5560 us/op 9.4350 us/op 1.01
hashTreeRoot SignedAggregateAndProof - struct 26.334 us/op 34.495 us/op 0.76
hashTreeRoot SignedAggregateAndProof - tree 14.271 us/op 14.150 us/op 1.01
hashTreeRoot SyncCommitteeMessage - struct 6.8080 us/op 7.0070 us/op 0.97
hashTreeRoot SyncCommitteeMessage - tree 3.6800 us/op 3.4740 us/op 1.06
hashTreeRoot SignedContributionAndProof - struct 15.676 us/op 17.568 us/op 0.89
hashTreeRoot SignedContributionAndProof - tree 9.7500 us/op 9.7030 us/op 1.00
hashTreeRoot SignedBeaconBlock - struct 1.2857 ms/op 1.4744 ms/op 0.87
hashTreeRoot SignedBeaconBlock - tree 846.28 us/op 846.04 us/op 1.00
hashTreeRoot Validator - struct 7.7640 us/op 9.7090 us/op 0.80
hashTreeRoot Validator - tree 7.0320 us/op 8.5330 us/op 0.82
BeaconState vc 300000 - hashTreeRoot tree 2.2364 s/op 2.4313 s/op 0.92
BeaconState vc 300000 - batchHashTreeRoot tree 4.1292 s/op 4.3691 s/op 0.95
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0420 us/op 1.1900 us/op 0.88
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4241 s/op 2.6390 s/op 0.92
BeaconState.balances vc 300000 - hashTreeRoot tree 35.871 ms/op 39.599 ms/op 0.91
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.4921 ms/op 4.4652 ms/op 1.01
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.5054 ms/op 4.4568 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 40.139 ms/op 38.099 ms/op 1.05
hash64 x18 8.6000 us/op 9.5420 us/op 0.90
hashTwoObjects x18 8.3600 us/op 8.2650 us/op 1.01
hash64 x1740 783.52 us/op 857.79 us/op 0.91
hashTwoObjects x1740 771.24 us/op 768.58 us/op 1.00
hash64 x2700000 1.2262 s/op 1.3336 s/op 0.92
hashTwoObjects x2700000 1.2050 s/op 1.2011 s/op 1.00
get_exitEpoch - ContainerType 222.00 ns/op 271.00 ns/op 0.82
get_exitEpoch - ContainerNodeStructType 222.00 ns/op 287.00 ns/op 0.77
set_exitEpoch - ContainerType 237.00 ns/op 294.00 ns/op 0.81
set_exitEpoch - ContainerNodeStructType 222.00 ns/op 289.00 ns/op 0.77
get_pubkey - ContainerType 904.00 ns/op 1.1720 us/op 0.77
get_pubkey - ContainerNodeStructType 234.00 ns/op 266.00 ns/op 0.88
hashTreeRoot - ContainerType 416.00 ns/op 495.00 ns/op 0.84
hashTreeRoot - ContainerNodeStructType 395.00 ns/op 497.00 ns/op 0.79
createProof - ContainerType 4.0440 us/op 4.7680 us/op 0.85
createProof - ContainerNodeStructType 21.681 us/op 25.838 us/op 0.84
serialize - ContainerType 1.6280 us/op 1.9290 us/op 0.84
serialize - ContainerNodeStructType 1.3410 us/op 1.5880 us/op 0.84
set_exitEpoch_and_hashTreeRoot - ContainerType 3.1620 us/op 3.0970 us/op 1.02
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.8400 us/op 8.2850 us/op 0.95
Array - for of 5.6100 us/op 6.8240 us/op 0.82
Array - for(;;) 5.6210 us/op 6.7380 us/op 0.83
basicListValue.readonlyValuesArray() 4.9735 ms/op 6.4371 ms/op 0.77
basicListValue.readonlyValuesArray() + loop all 4.9813 ms/op 6.2529 ms/op 0.80
compositeListValue.readonlyValuesArray() 32.028 ms/op 32.589 ms/op 0.98
compositeListValue.readonlyValuesArray() + loop all 30.558 ms/op 30.299 ms/op 1.01
Number64UintType - get balances list 4.2099 ms/op 4.9520 ms/op 0.85
Number64UintType - set balances list 10.131 ms/op 10.211 ms/op 0.99
Number64UintType - get and increase 10 then set 44.348 ms/op 40.453 ms/op 1.10
Number64UintType - increase 10 using applyDelta 16.530 ms/op 15.113 ms/op 1.09
Number64UintType - increase 10 using applyDeltaInBatch 16.569 ms/op 15.012 ms/op 1.10
tree_newTreeFromUint64Deltas 21.106 ms/op 20.309 ms/op 1.04
unsafeUint8ArrayToTree 40.482 ms/op 42.927 ms/op 0.94
bitLength(50) 236.00 ns/op 278.00 ns/op 0.85
bitLengthStr(50) 221.00 ns/op 249.00 ns/op 0.89
bitLength(8000) 230.00 ns/op 270.00 ns/op 0.85
bitLengthStr(8000) 266.00 ns/op 285.00 ns/op 0.93
bitLength(250000) 231.00 ns/op 284.00 ns/op 0.81
bitLengthStr(250000) 303.00 ns/op 373.00 ns/op 0.81
floor - Math.floor (53) 1.2583 ns/op 1.2438 ns/op 1.01
floor - << 0 (53) 1.2443 ns/op 1.2444 ns/op 1.00
floor - Math.floor (512) 1.2440 ns/op 1.2434 ns/op 1.00
floor - << 0 (512) 1.2437 ns/op 1.2439 ns/op 1.00
fnIf(0) 1.5550 ns/op 1.5541 ns/op 1.00
fnSwitch(0) 2.2207 ns/op 2.1772 ns/op 1.02
fnObj(0) 1.5542 ns/op 1.5679 ns/op 0.99
fnArr(0) 1.5563 ns/op 1.5725 ns/op 0.99
fnIf(4) 2.1757 ns/op 2.1776 ns/op 1.00
fnSwitch(4) 2.1757 ns/op 2.1775 ns/op 1.00
fnObj(4) 1.5546 ns/op 1.5747 ns/op 0.99
fnArr(4) 1.5545 ns/op 1.5550 ns/op 1.00
fnIf(9) 3.1075 ns/op 3.1422 ns/op 0.99
fnSwitch(9) 2.1764 ns/op 2.1840 ns/op 1.00
fnObj(9) 1.5571 ns/op 1.5767 ns/op 0.99
fnArr(9) 1.5542 ns/op 1.5559 ns/op 1.00
Container {a,b,vec} - as struct x100000 126.21 us/op 125.45 us/op 1.01
Container {a,b,vec} - as tree x100000 528.76 us/op 530.61 us/op 1.00
Container {a,vec,b} - as struct x100000 155.60 us/op 155.65 us/op 1.00
Container {a,vec,b} - as tree x100000 502.29 us/op 499.43 us/op 1.01
get 2 props x1000000 - rawObject 312.33 us/op 311.41 us/op 1.00
get 2 props x1000000 - proxy 73.553 ms/op 74.591 ms/op 0.99
get 2 props x1000000 - customObj 311.69 us/op 312.39 us/op 1.00
Simple object binary -> struct 937.00 ns/op 1.0670 us/op 0.88
Simple object binary -> tree_backed 2.5230 us/op 2.7690 us/op 0.91
Simple object struct -> tree_backed 2.8460 us/op 3.0530 us/op 0.93
Simple object tree_backed -> struct 2.5220 us/op 2.7540 us/op 0.92
Simple object struct -> binary 1.3190 us/op 1.3150 us/op 1.00
Simple object tree_backed -> binary 2.1890 us/op 2.3670 us/op 0.92
aggregationBits binary -> struct 935.00 ns/op 1.0270 us/op 0.91
aggregationBits binary -> tree_backed 2.7160 us/op 3.0870 us/op 0.88
aggregationBits struct -> tree_backed 3.1010 us/op 3.4610 us/op 0.90
aggregationBits tree_backed -> struct 1.2780 us/op 1.3640 us/op 0.94
aggregationBits struct -> binary 831.00 ns/op 927.00 ns/op 0.90
aggregationBits tree_backed -> binary 1.0770 us/op 1.2220 us/op 0.88
List(uint8) 100000 binary -> struct 1.6867 ms/op 1.7589 ms/op 0.96
List(uint8) 100000 binary -> tree_backed 278.00 us/op 327.78 us/op 0.85
List(uint8) 100000 struct -> tree_backed 1.3925 ms/op 1.5219 ms/op 0.91
List(uint8) 100000 tree_backed -> struct 1.1136 ms/op 1.1890 ms/op 0.94
List(uint8) 100000 struct -> binary 1.1546 ms/op 1.1046 ms/op 1.05
List(uint8) 100000 tree_backed -> binary 107.44 us/op 116.18 us/op 0.92
List(uint64Number) 100000 binary -> struct 1.3433 ms/op 1.7489 ms/op 0.77
List(uint64Number) 100000 binary -> tree_backed 4.4369 ms/op 4.5051 ms/op 0.98
List(uint64Number) 100000 struct -> tree_backed 6.8175 ms/op 6.5444 ms/op 1.04
List(uint64Number) 100000 tree_backed -> struct 2.3227 ms/op 2.5559 ms/op 0.91
List(uint64Number) 100000 struct -> binary 1.4673 ms/op 1.7740 ms/op 0.83
List(uint64Number) 100000 tree_backed -> binary 969.26 us/op 1.0188 ms/op 0.95
List(Uint64Bigint) 100000 binary -> struct 3.6004 ms/op 4.2970 ms/op 0.84
List(Uint64Bigint) 100000 binary -> tree_backed 5.0570 ms/op 4.8797 ms/op 1.04
List(Uint64Bigint) 100000 struct -> tree_backed 6.7768 ms/op 8.1623 ms/op 0.83
List(Uint64Bigint) 100000 tree_backed -> struct 4.8775 ms/op 5.2988 ms/op 0.92
List(Uint64Bigint) 100000 struct -> binary 2.0529 ms/op 2.0606 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 1.0807 ms/op 1.4400 ms/op 0.75
Vector(Root) 100000 binary -> struct 39.866 ms/op 36.707 ms/op 1.09
Vector(Root) 100000 binary -> tree_backed 35.087 ms/op 41.458 ms/op 0.85
Vector(Root) 100000 struct -> tree_backed 55.732 ms/op 52.218 ms/op 1.07
Vector(Root) 100000 tree_backed -> struct 52.971 ms/op 51.186 ms/op 1.03
Vector(Root) 100000 struct -> binary 3.5753 ms/op 2.7851 ms/op 1.28
Vector(Root) 100000 tree_backed -> binary 7.0923 ms/op 6.4095 ms/op 1.11
List(Validator) 100000 binary -> struct 99.154 ms/op 113.11 ms/op 0.88
List(Validator) 100000 binary -> tree_backed 359.37 ms/op 375.70 ms/op 0.96
List(Validator) 100000 struct -> tree_backed 385.22 ms/op 398.81 ms/op 0.97
List(Validator) 100000 tree_backed -> struct 215.01 ms/op 220.41 ms/op 0.98
List(Validator) 100000 struct -> binary 29.684 ms/op 29.494 ms/op 1.01
List(Validator) 100000 tree_backed -> binary 107.16 ms/op 114.34 ms/op 0.94
List(Validator-NS) 100000 binary -> struct 109.37 ms/op 116.85 ms/op 0.94
List(Validator-NS) 100000 binary -> tree_backed 148.62 ms/op 166.01 ms/op 0.90
List(Validator-NS) 100000 struct -> tree_backed 201.44 ms/op 214.46 ms/op 0.94
List(Validator-NS) 100000 tree_backed -> struct 164.38 ms/op 171.25 ms/op 0.96
List(Validator-NS) 100000 struct -> binary 29.136 ms/op 29.019 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> binary 33.699 ms/op 35.573 ms/op 0.95
get epochStatuses - MutableVector 118.28 us/op 112.43 us/op 1.05
get epochStatuses - ViewDU 205.97 us/op 176.88 us/op 1.16
set epochStatuses - ListTreeView 2.0921 ms/op 2.2134 ms/op 0.95
set epochStatuses - ListTreeView - set() 464.13 us/op 463.10 us/op 1.00
set epochStatuses - ListTreeView - commit() 820.89 us/op 795.36 us/op 1.03
bitstring 513.53 ns/op 519.65 ns/op 0.99
bit mask 13.713 ns/op 13.803 ns/op 0.99
struct - increase slot to 1000000 933.89 us/op 933.46 us/op 1.00
UintNumberType - increase slot to 1000000 27.843 ms/op 27.676 ms/op 1.01
UintBigintType - increase slot to 1000000 164.88 ms/op 194.14 ms/op 0.85
UintBigint8 x 100000 tree_deserialize 5.6447 ms/op 6.2549 ms/op 0.90
UintBigint8 x 100000 tree_serialize 1.1162 ms/op 618.30 us/op 1.81
UintBigint16 x 100000 tree_deserialize 5.2808 ms/op 5.5491 ms/op 0.95
UintBigint16 x 100000 tree_serialize 1.3081 ms/op 1.4364 ms/op 0.91
UintBigint32 x 100000 tree_deserialize 5.9048 ms/op 6.9054 ms/op 0.86
UintBigint32 x 100000 tree_serialize 1.6930 ms/op 1.9445 ms/op 0.87
UintBigint64 x 100000 tree_deserialize 5.9235 ms/op 6.7174 ms/op 0.88
UintBigint64 x 100000 tree_serialize 1.7087 ms/op 2.0028 ms/op 0.85
UintBigint8 x 100000 value_deserialize 435.50 us/op 437.02 us/op 1.00
UintBigint8 x 100000 value_serialize 782.34 us/op 826.45 us/op 0.95
UintBigint16 x 100000 value_deserialize 474.24 us/op 466.47 us/op 1.02
UintBigint16 x 100000 value_serialize 820.98 us/op 881.15 us/op 0.93
UintBigint32 x 100000 value_deserialize 497.83 us/op 497.60 us/op 1.00
UintBigint32 x 100000 value_serialize 859.73 us/op 894.44 us/op 0.96
UintBigint64 x 100000 value_deserialize 563.57 us/op 568.83 us/op 0.99
UintBigint64 x 100000 value_serialize 1.0547 ms/op 1.1698 ms/op 0.90
UintBigint8 x 100000 deserialize 3.3321 ms/op 3.7401 ms/op 0.89
UintBigint8 x 100000 serialize 1.5512 ms/op 1.5632 ms/op 0.99
UintBigint16 x 100000 deserialize 3.3081 ms/op 3.8323 ms/op 0.86
UintBigint16 x 100000 serialize 1.6171 ms/op 1.5809 ms/op 1.02
UintBigint32 x 100000 deserialize 3.2507 ms/op 3.8240 ms/op 0.85
UintBigint32 x 100000 serialize 2.8397 ms/op 3.1520 ms/op 0.90
UintBigint64 x 100000 deserialize 4.3325 ms/op 4.3514 ms/op 1.00
UintBigint64 x 100000 serialize 1.6888 ms/op 1.7051 ms/op 0.99
UintBigint128 x 100000 deserialize 6.2166 ms/op 6.5214 ms/op 0.95
UintBigint128 x 100000 serialize 14.556 ms/op 15.040 ms/op 0.97
UintBigint256 x 100000 deserialize 7.9675 ms/op 8.7719 ms/op 0.91
UintBigint256 x 100000 serialize 41.615 ms/op 43.780 ms/op 0.95
Slice from Uint8Array x25000 1.2895 ms/op 1.3705 ms/op 0.94
Slice from ArrayBuffer x25000 15.812 ms/op 17.271 ms/op 0.92
Slice from ArrayBuffer x25000 + new Uint8Array 16.581 ms/op 18.737 ms/op 0.88
Copy Uint8Array 100000 iterate 2.6315 ms/op 2.6751 ms/op 0.98
Copy Uint8Array 100000 slice 84.622 us/op 119.06 us/op 0.71
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 84.910 us/op 117.54 us/op 0.72
Copy Buffer 100000 Uint8Array.prototype.slice.call 87.099 us/op 117.13 us/op 0.74
Copy Uint8Array 100000 slice + set 171.99 us/op 248.93 us/op 0.69
Copy Uint8Array 100000 subarray + set 85.799 us/op 116.06 us/op 0.74
Copy Uint8Array 100000 slice arrayBuffer 84.406 us/op 118.19 us/op 0.71
Uint64 deserialize 100000 - iterate Uint8Array 1.9094 ms/op 2.1325 ms/op 0.90
Uint64 deserialize 100000 - by Uint32A 1.8307 ms/op 2.1143 ms/op 0.87
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.9618 ms/op 2.0969 ms/op 0.94
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0782 ms/op 5.3011 ms/op 0.96
Uint64 deserialize 100000 - by byte 41.458 ms/op 40.573 ms/op 1.02

by benchmarkbot/action

@matthewkeil matthewkeil merged commit f5417f5 into master Jan 18, 2025
8 checks passed
@matthewkeil matthewkeil deleted the mkeil/release-ssz branch January 18, 2025 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants