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: update the benchmark dependencies #429

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

nazarhussain
Copy link
Contributor

Motivation

Benchmark in different runtimes.

Description

Use the benchmark utility that we forked, which have supported in different runtimes.

Steps to test or reproduce

Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner January 10, 2025 16:03
@nazarhussain nazarhussain changed the title Update the benchmark dependencies test: update the benchmark dependencies Jan 10, 2025
@nazarhussain nazarhussain changed the title test: update the benchmark dependencies chore: update the benchmark dependencies Jan 10, 2025
Copy link

github-actions bot commented Jan 13, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 967b91d Previous: 2fd9c04 Ratio
digestTwoHashObjects 50023 times 48.786 ms/op 48.385 ms/op 1.01
digest2Bytes32 50023 times 54.838 ms/op 54.739 ms/op 1.00
digest 50023 times 54.067 ms/op 55.134 ms/op 0.98
input length 32 1.1990 us/op 1.2220 us/op 0.98
input length 64 1.3270 us/op 1.3350 us/op 0.99
input length 128 2.2790 us/op 2.2710 us/op 1.00
input length 256 3.4250 us/op 3.3710 us/op 1.02
input length 512 5.6900 us/op 5.5760 us/op 1.02
input length 1024 10.892 us/op 10.768 us/op 1.01
digest 1000000 times 872.59 ms/op 884.65 ms/op 0.99
hashObjectToByteArray 50023 times 1.2287 ms/op 1.2315 ms/op 1.00
byteArrayToHashObject 50023 times 1.8272 ms/op 1.8030 ms/op 1.01
digest64 200092 times 217.78 ms/op 213.67 ms/op 1.02
hash 200092 times using batchHash4UintArray64s 242.52 ms/op 240.28 ms/op 1.01
digest64HashObjects 200092 times 194.08 ms/op 194.67 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 202.71 ms/op 207.74 ms/op 0.98
getGindicesAtDepth 3.7940 us/op 4.1450 us/op 0.92
iterateAtDepth 6.9630 us/op 7.4670 us/op 0.93
getGindexBits 426.00 ns/op 454.00 ns/op 0.94
gindexIterator 958.00 ns/op 1.0330 us/op 0.93
HashComputationLevel.push then loop 32.204 ms/op 27.802 ms/op 1.16
HashComputation[] push then loop 51.109 ms/op 49.368 ms/op 1.04
hash 2 Uint8Array 500000 times - hashtree 220.42 ms/op 216.43 ms/op 1.02
hashTwoObjects 500000 times - hashtree 211.75 ms/op 214.97 ms/op 0.99
executeHashComputations - hashtree 10.488 ms/op 9.8174 ms/op 1.07
hash 2 Uint8Array 500000 times - as-sha256 569.17 ms/op 566.39 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 508.40 ms/op 512.46 ms/op 0.99
executeHashComputations - as-sha256 47.885 ms/op 49.092 ms/op 0.98
hash 2 Uint8Array 500000 times - noble 1.3891 s/op 1.2320 s/op 1.13
hashTwoObjects 500000 times - noble 2.0254 s/op 1.6458 s/op 1.23
executeHashComputations - noble 37.532 ms/op 40.524 ms/op 0.93
getHashComputations 3.0200 ms/op 3.2876 ms/op 0.92
executeHashComputations 10.399 ms/op 11.015 ms/op 0.94
get root 15.538 ms/op 17.228 ms/op 0.90
getNodeH() x7812.5 avg hindex 12.248 us/op 12.973 us/op 0.94
getNodeH() x7812.5 index 0 7.6350 us/op 7.4830 us/op 1.02
getNodeH() x7812.5 index 7 7.5220 us/op 7.4880 us/op 1.00
getNodeH() x7812.5 index 7 with key array 6.4290 us/op 6.2660 us/op 1.03
new LeafNode() x7812.5 383.59 us/op 288.84 us/op 1.33
getHashComputations 250000 nodes 18.377 ms/op 17.077 ms/op 1.08
batchHash 250000 nodes 96.141 ms/op 83.672 ms/op 1.15
get root 250000 nodes 116.25 ms/op 118.39 ms/op 0.98
getHashComputations 500000 nodes 29.920 ms/op 32.790 ms/op 0.91
batchHash 500000 nodes 169.53 ms/op 170.81 ms/op 0.99
get root 500000 nodes 233.07 ms/op 237.45 ms/op 0.98
getHashComputations 1000000 nodes 94.157 ms/op 68.401 ms/op 1.38
batchHash 1000000 nodes 378.73 ms/op 314.97 ms/op 1.20
get root 1000000 nodes 460.09 ms/op 474.60 ms/op 0.97
multiproof - depth 15, 1 requested leaves 10.947 us/op 8.0360 us/op 1.36
tree offset multiproof - depth 15, 1 requested leaves 23.369 us/op 17.505 us/op 1.33
compact multiproof - depth 15, 1 requested leaves 4.5560 us/op 2.9850 us/op 1.53
multiproof - depth 15, 2 requested leaves 15.458 us/op 11.659 us/op 1.33
tree offset multiproof - depth 15, 2 requested leaves 27.211 us/op 21.064 us/op 1.29
compact multiproof - depth 15, 2 requested leaves 4.5700 us/op 3.0240 us/op 1.51
multiproof - depth 15, 3 requested leaves 21.033 us/op 16.464 us/op 1.28
tree offset multiproof - depth 15, 3 requested leaves 34.973 us/op 27.416 us/op 1.28
compact multiproof - depth 15, 3 requested leaves 6.6070 us/op 3.6760 us/op 1.80
multiproof - depth 15, 4 requested leaves 27.198 us/op 21.480 us/op 1.27
tree offset multiproof - depth 15, 4 requested leaves 42.260 us/op 33.923 us/op 1.25
compact multiproof - depth 15, 4 requested leaves 7.8790 us/op 4.2500 us/op 1.85
packedRootsBytesToLeafNodes bytes 4000 offset 0 8.4000 us/op 5.5760 us/op 1.51
packedRootsBytesToLeafNodes bytes 4000 offset 1 8.2790 us/op 5.5020 us/op 1.50
packedRootsBytesToLeafNodes bytes 4000 offset 2 8.2340 us/op 5.5960 us/op 1.47
packedRootsBytesToLeafNodes bytes 4000 offset 3 8.3260 us/op 5.5090 us/op 1.51
subtreeFillToContents depth 40 count 250000 46.412 ms/op 49.667 ms/op 0.93
setRoot - gindexBitstring 26.961 ms/op 20.717 ms/op 1.30
setRoot - gindex 26.379 ms/op 21.769 ms/op 1.21
getRoot - gindexBitstring 2.9075 ms/op 2.6428 ms/op 1.10
getRoot - gindex 3.8194 ms/op 3.4452 ms/op 1.11
getHashObject then setHashObject 29.387 ms/op 22.668 ms/op 1.30
setNodeWithFn 24.033 ms/op 19.949 ms/op 1.20
getNodeAtDepth depth 0 x100000 279.97 us/op 284.47 us/op 0.98
setNodeAtDepth depth 0 x100000 3.2149 ms/op 2.5826 ms/op 1.24
getNodesAtDepth depth 0 x100000 312.13 us/op 312.60 us/op 1.00
setNodesAtDepth depth 0 x100000 758.49 us/op 770.25 us/op 0.98
getNodeAtDepth depth 1 x100000 344.53 us/op 345.54 us/op 1.00
setNodeAtDepth depth 1 x100000 8.7372 ms/op 8.3900 ms/op 1.04
getNodesAtDepth depth 1 x100000 435.77 us/op 436.17 us/op 1.00
setNodesAtDepth depth 1 x100000 8.0488 ms/op 8.0911 ms/op 0.99
getNodeAtDepth depth 2 x100000 812.39 us/op 742.41 us/op 1.09
setNodeAtDepth depth 2 x100000 15.738 ms/op 15.448 ms/op 1.02
getNodesAtDepth depth 2 x100000 19.828 ms/op 19.301 ms/op 1.03
setNodesAtDepth depth 2 x100000 26.953 ms/op 22.443 ms/op 1.20
tree.getNodesAtDepth - gindexes 10.400 ms/op 9.0838 ms/op 1.14
tree.getNodesAtDepth - push all nodes 2.4171 ms/op 2.2499 ms/op 1.07
tree.getNodesAtDepth - navigation 311.95 us/op 312.00 us/op 1.00
tree.setNodesAtDepth - indexes 734.57 us/op 702.50 us/op 1.05
set at depth 8 970.00 ns/op 673.00 ns/op 1.44
set at depth 16 1.3180 us/op 1.2090 us/op 1.09
set at depth 32 2.1800 us/op 1.9830 us/op 1.10
iterateNodesAtDepth 8 256 15.846 us/op 14.029 us/op 1.13
getNodesAtDepth 8 256 4.2360 us/op 3.9860 us/op 1.06
iterateNodesAtDepth 16 65536 4.9567 ms/op 4.9523 ms/op 1.00
getNodesAtDepth 16 65536 2.0561 ms/op 2.1318 ms/op 0.96
iterateNodesAtDepth 32 250000 17.764 ms/op 17.971 ms/op 0.99
getNodesAtDepth 32 250000 6.3400 ms/op 5.0235 ms/op 1.26
iterateNodesAtDepth 40 250000 17.274 ms/op 16.973 ms/op 1.02
getNodesAtDepth 40 250000 4.9992 ms/op 5.2017 ms/op 0.96
250000 validators root getter 116.38 ms/op 119.60 ms/op 0.97
250000 validators batchHash() 102.81 ms/op 96.226 ms/op 1.07
250000 validators hashComputations 19.674 ms/op 13.681 ms/op 1.44
bitlist bytes to struct (120,90) 846.00 ns/op 1.0320 us/op 0.82
bitlist bytes to tree (120,90) 2.8130 us/op 2.9040 us/op 0.97
bitlist bytes to struct (2048,2048) 1.0510 us/op 1.1460 us/op 0.92
bitlist bytes to tree (2048,2048) 4.2490 us/op 4.6090 us/op 0.92
ByteListType - deserialize 8.4503 ms/op 8.2940 ms/op 1.02
BasicListType - deserialize 16.064 ms/op 17.814 ms/op 0.90
ByteListType - serialize 8.5888 ms/op 8.2229 ms/op 1.04
BasicListType - serialize 10.449 ms/op 10.528 ms/op 0.99
BasicListType - tree_convertToStruct 28.348 ms/op 30.733 ms/op 0.92
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.8644 ms/op 5.0479 ms/op 0.96
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.2418 ms/op 4.4003 ms/op 0.96
Array.push len 300000 empty Array - number 7.3662 ms/op 7.7576 ms/op 0.95
Array.set len 300000 from new Array - number 2.1005 ms/op 2.3929 ms/op 0.88
Array.set len 300000 - number 7.0738 ms/op 6.8603 ms/op 1.03
Uint8Array.set len 300000 490.52 us/op 490.48 us/op 1.00
Uint32Array.set len 300000 572.56 us/op 554.60 us/op 1.03
Container({a: uint8, b: uint8}) getViewDU x300000 25.111 ms/op 25.535 ms/op 0.98
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.612 ms/op 10.557 ms/op 1.01
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 215.12 ms/op 222.67 ms/op 0.97
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 268.16 ms/op 288.04 ms/op 0.93
List(Container) len 300000 ViewDU.get(i) 6.8102 ms/op 8.4440 ms/op 0.81
List(Container) len 300000 ViewDU.getReadonly(i) 6.6732 ms/op 7.2905 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 37.907 ms/op 34.764 ms/op 1.09
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.3073 ms/op 6.9714 ms/op 0.76
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.3123 ms/op 6.7554 ms/op 0.93
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.3838 ms/op 6.6821 ms/op 0.96
Array.push len 300000 empty Array - object 6.5910 ms/op 8.2629 ms/op 0.80
Array.set len 300000 from new Array - object 1.9650 ms/op 2.0682 ms/op 0.95
Array.set len 300000 - object 6.3596 ms/op 6.8760 ms/op 0.92
cachePermanentRootStruct no cache 5.3700 us/op 5.9280 us/op 0.91
cachePermanentRootStruct with cache 210.00 ns/op 245.00 ns/op 0.86
epochParticipation len 250000 rws 7813 2.4123 ms/op 2.3026 ms/op 1.05
BeaconState ViewDU hashTreeRoot() vc=200000 114.47 ms/op 119.71 ms/op 0.96
BeaconState ViewDU recursive hash - commit step vc=200000 4.9654 ms/op 5.0692 ms/op 0.98
BeaconState ViewDU validator tree creation vc=10000 41.561 ms/op 42.276 ms/op 0.98
BeaconState ViewDU batchHashTreeRoot vc=200000 105.61 ms/op 109.21 ms/op 0.97
BeaconState ViewDU hashTreeRoot - commit step vc=200000 95.504 ms/op 96.290 ms/op 0.99
BeaconState ViewDU hashTreeRoot - hash step vc=200000 17.949 ms/op 18.397 ms/op 0.98
deserialize Attestation - tree 3.8430 us/op 3.9770 us/op 0.97
deserialize Attestation - struct 2.1240 us/op 2.1880 us/op 0.97
deserialize SignedAggregateAndProof - tree 5.1790 us/op 5.3310 us/op 0.97
deserialize SignedAggregateAndProof - struct 3.2000 us/op 3.4600 us/op 0.92
deserialize SyncCommitteeMessage - tree 1.5090 us/op 1.5160 us/op 1.00
deserialize SyncCommitteeMessage - struct 1.2070 us/op 1.2600 us/op 0.96
deserialize SignedContributionAndProof - tree 3.1100 us/op 3.3480 us/op 0.93
deserialize SignedContributionAndProof - struct 2.4790 us/op 2.7630 us/op 0.90
deserialize SignedBeaconBlock - tree 311.44 us/op 320.10 us/op 0.97
deserialize SignedBeaconBlock - struct 130.74 us/op 146.11 us/op 0.89
BeaconState vc 300000 - deserialize tree 655.69 ms/op 676.70 ms/op 0.97
BeaconState vc 300000 - serialize tree 171.84 ms/op 176.66 ms/op 0.97
BeaconState.historicalRoots vc 300000 - deserialize tree 887.00 ns/op 963.00 ns/op 0.92
BeaconState.historicalRoots vc 300000 - serialize tree 704.00 ns/op 797.00 ns/op 0.88
BeaconState.validators vc 300000 - deserialize tree 631.24 ms/op 645.65 ms/op 0.98
BeaconState.validators vc 300000 - serialize tree 120.71 ms/op 108.09 ms/op 1.12
BeaconState.balances vc 300000 - deserialize tree 27.456 ms/op 31.118 ms/op 0.88
BeaconState.balances vc 300000 - serialize tree 5.5232 ms/op 5.4166 ms/op 1.02
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.1309 ms/op 1.1177 ms/op 1.01
BeaconState.previousEpochParticipation vc 300000 - serialize tree 333.49 us/op 329.73 us/op 1.01
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0619 ms/op 1.1398 ms/op 0.93
BeaconState.currentEpochParticipation vc 300000 - serialize tree 335.19 us/op 329.92 us/op 1.02
BeaconState.inactivityScores vc 300000 - deserialize tree 27.300 ms/op 28.841 ms/op 0.95
BeaconState.inactivityScores vc 300000 - serialize tree 4.6339 ms/op 6.4320 ms/op 0.72
hashTreeRoot Attestation - struct 18.503 us/op 22.568 us/op 0.82
hashTreeRoot Attestation - tree 9.5210 us/op 9.7040 us/op 0.98
hashTreeRoot SignedAggregateAndProof - struct 23.673 us/op 34.438 us/op 0.69
hashTreeRoot SignedAggregateAndProof - tree 14.074 us/op 14.744 us/op 0.95
hashTreeRoot SyncCommitteeMessage - struct 6.0230 us/op 9.1540 us/op 0.66
hashTreeRoot SyncCommitteeMessage - tree 3.9560 us/op 3.6090 us/op 1.10
hashTreeRoot SignedContributionAndProof - struct 14.179 us/op 24.373 us/op 0.58
hashTreeRoot SignedContributionAndProof - tree 9.6490 us/op 10.036 us/op 0.96
hashTreeRoot SignedBeaconBlock - struct 1.2943 ms/op 1.7085 ms/op 0.76
hashTreeRoot SignedBeaconBlock - tree 852.31 us/op 874.80 us/op 0.97
hashTreeRoot Validator - struct 8.9510 us/op 10.415 us/op 0.86
hashTreeRoot Validator - tree 7.8710 us/op 8.8040 us/op 0.89
BeaconState vc 300000 - hashTreeRoot tree 2.3744 s/op 2.5106 s/op 0.95
BeaconState vc 300000 - batchHashTreeRoot tree 4.4647 s/op 4.5668 s/op 0.98
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.1350 us/op 1.1800 us/op 0.96
BeaconState.validators vc 300000 - hashTreeRoot tree 2.5386 s/op 2.6840 s/op 0.95
BeaconState.balances vc 300000 - hashTreeRoot tree 41.239 ms/op 37.232 ms/op 1.11
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.4768 ms/op 4.6431 ms/op 0.96
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.4090 ms/op 4.5680 ms/op 0.97
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 38.502 ms/op 39.894 ms/op 0.97
hash64 x18 9.1290 us/op 9.8100 us/op 0.93
hashTwoObjects x18 8.6270 us/op 8.9900 us/op 0.96
hash64 x1740 842.83 us/op 889.16 us/op 0.95
hashTwoObjects x1740 791.75 us/op 817.95 us/op 0.97
hash64 x2700000 1.3148 s/op 1.3707 s/op 0.96
hashTwoObjects x2700000 1.2340 s/op 1.2561 s/op 0.98
get_exitEpoch - ContainerType 280.00 ns/op 470.00 ns/op 0.60
get_exitEpoch - ContainerNodeStructType 296.00 ns/op 531.00 ns/op 0.56
set_exitEpoch - ContainerType 342.00 ns/op 743.00 ns/op 0.46
set_exitEpoch - ContainerNodeStructType 316.00 ns/op 867.00 ns/op 0.36
get_pubkey - ContainerType 1.2280 us/op 2.1440 us/op 0.57
get_pubkey - ContainerNodeStructType 305.00 ns/op 628.00 ns/op 0.49
hashTreeRoot - ContainerType 548.00 ns/op 911.00 ns/op 0.60
hashTreeRoot - ContainerNodeStructType 534.00 ns/op 822.00 ns/op 0.65
createProof - ContainerType 5.2180 us/op 7.2270 us/op 0.72
createProof - ContainerNodeStructType 25.225 us/op 38.455 us/op 0.66
serialize - ContainerType 1.9560 us/op 3.0960 us/op 0.63
serialize - ContainerNodeStructType 1.6020 us/op 2.3860 us/op 0.67
set_exitEpoch_and_hashTreeRoot - ContainerType 3.3830 us/op 5.1660 us/op 0.65
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 8.2130 us/op 11.845 us/op 0.69
Array - for of 5.7180 us/op 6.0820 us/op 0.94
Array - for(;;) 5.6250 us/op 6.0990 us/op 0.92
basicListValue.readonlyValuesArray() 5.9834 ms/op 8.5034 ms/op 0.70
basicListValue.readonlyValuesArray() + loop all 6.4050 ms/op 9.2078 ms/op 0.70
compositeListValue.readonlyValuesArray() 33.790 ms/op 31.312 ms/op 1.08
compositeListValue.readonlyValuesArray() + loop all 31.876 ms/op 32.164 ms/op 0.99
Number64UintType - get balances list 4.5765 ms/op 4.9334 ms/op 0.93
Number64UintType - set balances list 9.9240 ms/op 10.233 ms/op 0.97
Number64UintType - get and increase 10 then set 41.214 ms/op 45.730 ms/op 0.90
Number64UintType - increase 10 using applyDelta 17.692 ms/op 19.214 ms/op 0.92
Number64UintType - increase 10 using applyDeltaInBatch 17.249 ms/op 18.532 ms/op 0.93
tree_newTreeFromUint64Deltas 22.522 ms/op 23.803 ms/op 0.95
unsafeUint8ArrayToTree 41.995 ms/op 43.554 ms/op 0.96
bitLength(50) 262.00 ns/op 283.00 ns/op 0.93
bitLengthStr(50) 230.00 ns/op 260.00 ns/op 0.88
bitLength(8000) 259.00 ns/op 280.00 ns/op 0.93
bitLengthStr(8000) 281.00 ns/op 301.00 ns/op 0.93
bitLength(250000) 256.00 ns/op 276.00 ns/op 0.93
bitLengthStr(250000) 313.00 ns/op 340.00 ns/op 0.92
floor - Math.floor (53) 1.2440 ns/op 1.2463 ns/op 1.00
floor - << 0 (53) 1.2463 ns/op 1.2449 ns/op 1.00
floor - Math.floor (512) 1.2439 ns/op 1.2485 ns/op 1.00
floor - << 0 (512) 1.2437 ns/op 1.2445 ns/op 1.00
fnIf(0) 1.5578 ns/op 1.5550 ns/op 1.00
fnSwitch(0) 2.2212 ns/op 2.2084 ns/op 1.01
fnObj(0) 1.5665 ns/op 1.5592 ns/op 1.00
fnArr(0) 1.5549 ns/op 1.5564 ns/op 1.00
fnIf(4) 2.1861 ns/op 2.2012 ns/op 0.99
fnSwitch(4) 2.1771 ns/op 2.1851 ns/op 1.00
fnObj(4) 1.5563 ns/op 1.5553 ns/op 1.00
fnArr(4) 1.5609 ns/op 1.5566 ns/op 1.00
fnIf(9) 3.1102 ns/op 3.1105 ns/op 1.00
fnSwitch(9) 2.1772 ns/op 2.1789 ns/op 1.00
fnObj(9) 1.5691 ns/op 1.5566 ns/op 1.01
fnArr(9) 1.5593 ns/op 1.5585 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.67 us/op 124.70 us/op 1.00
Container {a,b,vec} - as tree x100000 530.26 us/op 528.88 us/op 1.00
Container {a,vec,b} - as struct x100000 155.96 us/op 156.29 us/op 1.00
Container {a,vec,b} - as tree x100000 497.67 us/op 497.88 us/op 1.00
get 2 props x1000000 - rawObject 312.48 us/op 311.55 us/op 1.00
get 2 props x1000000 - proxy 85.555 ms/op 73.231 ms/op 1.17
get 2 props x1000000 - customObj 316.30 us/op 311.63 us/op 1.01
Simple object binary -> struct 925.00 ns/op 666.00 ns/op 1.39
Simple object binary -> tree_backed 2.4650 us/op 1.8000 us/op 1.37
Simple object struct -> tree_backed 2.8550 us/op 2.5550 us/op 1.12
Simple object tree_backed -> struct 2.5520 us/op 1.8870 us/op 1.35
Simple object struct -> binary 1.2750 us/op 1.1100 us/op 1.15
Simple object tree_backed -> binary 1.9200 us/op 1.5810 us/op 1.21
aggregationBits binary -> struct 697.00 ns/op 556.00 ns/op 1.25
aggregationBits binary -> tree_backed 2.8260 us/op 2.3520 us/op 1.20
aggregationBits struct -> tree_backed 3.2910 us/op 2.8250 us/op 1.16
aggregationBits tree_backed -> struct 1.2980 us/op 1.1760 us/op 1.10
aggregationBits struct -> binary 835.00 ns/op 895.00 ns/op 0.93
aggregationBits tree_backed -> binary 1.0900 us/op 1.0710 us/op 1.02
List(uint8) 100000 binary -> struct 1.7268 ms/op 1.7193 ms/op 1.00
List(uint8) 100000 binary -> tree_backed 349.22 us/op 378.88 us/op 0.92
List(uint8) 100000 struct -> tree_backed 1.4698 ms/op 1.4716 ms/op 1.00
List(uint8) 100000 tree_backed -> struct 1.1297 ms/op 1.1255 ms/op 1.00
List(uint8) 100000 struct -> binary 1.1301 ms/op 1.1255 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 111.77 us/op 133.70 us/op 0.84
List(uint64Number) 100000 binary -> struct 1.5069 ms/op 1.4898 ms/op 1.01
List(uint64Number) 100000 binary -> tree_backed 5.1026 ms/op 5.0622 ms/op 1.01
List(uint64Number) 100000 struct -> tree_backed 7.0622 ms/op 7.2356 ms/op 0.98
List(uint64Number) 100000 tree_backed -> struct 2.7752 ms/op 2.9213 ms/op 0.95
List(uint64Number) 100000 struct -> binary 1.8468 ms/op 1.8754 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 1.8196 ms/op 1.9946 ms/op 0.91
List(Uint64Bigint) 100000 binary -> struct 4.4777 ms/op 4.3077 ms/op 1.04
List(Uint64Bigint) 100000 binary -> tree_backed 4.9906 ms/op 5.2529 ms/op 0.95
List(Uint64Bigint) 100000 struct -> tree_backed 7.4490 ms/op 8.0646 ms/op 0.92
List(Uint64Bigint) 100000 tree_backed -> struct 5.7094 ms/op 5.6323 ms/op 1.01
List(Uint64Bigint) 100000 struct -> binary 2.1163 ms/op 2.0885 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> binary 1.7193 ms/op 1.8135 ms/op 0.95
Vector(Root) 100000 binary -> struct 38.580 ms/op 41.100 ms/op 0.94
Vector(Root) 100000 binary -> tree_backed 40.747 ms/op 44.078 ms/op 0.92
Vector(Root) 100000 struct -> tree_backed 58.430 ms/op 55.892 ms/op 1.05
Vector(Root) 100000 tree_backed -> struct 56.300 ms/op 56.983 ms/op 0.99
Vector(Root) 100000 struct -> binary 2.7811 ms/op 2.7534 ms/op 1.01
Vector(Root) 100000 tree_backed -> binary 6.4052 ms/op 8.0801 ms/op 0.79
List(Validator) 100000 binary -> struct 110.35 ms/op 113.34 ms/op 0.97
List(Validator) 100000 binary -> tree_backed 379.33 ms/op 390.64 ms/op 0.97
List(Validator) 100000 struct -> tree_backed 402.06 ms/op 417.76 ms/op 0.96
List(Validator) 100000 tree_backed -> struct 228.01 ms/op 226.69 ms/op 1.01
List(Validator) 100000 struct -> binary 29.739 ms/op 29.274 ms/op 1.02
List(Validator) 100000 tree_backed -> binary 114.67 ms/op 108.34 ms/op 1.06
List(Validator-NS) 100000 binary -> struct 119.25 ms/op 135.28 ms/op 0.88
List(Validator-NS) 100000 binary -> tree_backed 153.78 ms/op 184.51 ms/op 0.83
List(Validator-NS) 100000 struct -> tree_backed 214.43 ms/op 235.91 ms/op 0.91
List(Validator-NS) 100000 tree_backed -> struct 175.54 ms/op 192.62 ms/op 0.91
List(Validator-NS) 100000 struct -> binary 29.561 ms/op 29.747 ms/op 0.99
List(Validator-NS) 100000 tree_backed -> binary 35.463 ms/op 35.712 ms/op 0.99
get epochStatuses - MutableVector 114.20 us/op 101.62 us/op 1.12
get epochStatuses - ViewDU 191.69 us/op 203.65 us/op 0.94
set epochStatuses - ListTreeView 2.2714 ms/op 2.2079 ms/op 1.03
set epochStatuses - ListTreeView - set() 464.75 us/op 431.41 us/op 1.08
set epochStatuses - ListTreeView - commit() 766.47 us/op 804.31 us/op 0.95
bitstring 515.78 ns/op 520.44 ns/op 0.99
bit mask 13.847 ns/op 13.407 ns/op 1.03
struct - increase slot to 1000000 932.63 us/op 936.53 us/op 1.00
UintNumberType - increase slot to 1000000 27.625 ms/op 26.798 ms/op 1.03
UintBigintType - increase slot to 1000000 166.66 ms/op 214.36 ms/op 0.78
UintBigint8 x 100000 tree_deserialize 5.6226 ms/op 5.8918 ms/op 0.95
UintBigint8 x 100000 tree_serialize 617.72 us/op 1.1095 ms/op 0.56
UintBigint16 x 100000 tree_deserialize 5.3512 ms/op 6.7823 ms/op 0.79
UintBigint16 x 100000 tree_serialize 1.3771 ms/op 1.7868 ms/op 0.77
UintBigint32 x 100000 tree_deserialize 5.5560 ms/op 7.0351 ms/op 0.79
UintBigint32 x 100000 tree_serialize 1.8864 ms/op 2.3450 ms/op 0.80
UintBigint64 x 100000 tree_deserialize 7.1870 ms/op 8.0089 ms/op 0.90
UintBigint64 x 100000 tree_serialize 1.8566 ms/op 3.3089 ms/op 0.56
UintBigint8 x 100000 value_deserialize 435.54 us/op 436.55 us/op 1.00
UintBigint8 x 100000 value_serialize 784.75 us/op 944.72 us/op 0.83
UintBigint16 x 100000 value_deserialize 466.44 us/op 466.98 us/op 1.00
UintBigint16 x 100000 value_serialize 831.99 us/op 949.22 us/op 0.88
UintBigint32 x 100000 value_deserialize 498.09 us/op 497.75 us/op 1.00
UintBigint32 x 100000 value_serialize 877.23 us/op 1.0340 ms/op 0.85
UintBigint64 x 100000 value_deserialize 562.09 us/op 561.86 us/op 1.00
UintBigint64 x 100000 value_serialize 1.1754 ms/op 1.4075 ms/op 0.84
UintBigint8 x 100000 deserialize 3.8114 ms/op 4.0786 ms/op 0.93
UintBigint8 x 100000 serialize 1.5448 ms/op 1.6495 ms/op 0.94
UintBigint16 x 100000 deserialize 3.9951 ms/op 4.2306 ms/op 0.94
UintBigint16 x 100000 serialize 1.5902 ms/op 1.5280 ms/op 1.04
UintBigint32 x 100000 deserialize 4.0370 ms/op 4.1933 ms/op 0.96
UintBigint32 x 100000 serialize 3.0288 ms/op 3.1683 ms/op 0.96
UintBigint64 x 100000 deserialize 4.5801 ms/op 4.8024 ms/op 0.95
UintBigint64 x 100000 serialize 1.6709 ms/op 1.6952 ms/op 0.99
UintBigint128 x 100000 deserialize 6.4708 ms/op 6.8769 ms/op 0.94
UintBigint128 x 100000 serialize 16.203 ms/op 15.576 ms/op 1.04
UintBigint256 x 100000 deserialize 9.9457 ms/op 9.2019 ms/op 1.08
UintBigint256 x 100000 serialize 47.070 ms/op 45.317 ms/op 1.04
Slice from Uint8Array x25000 1.6797 ms/op 1.3730 ms/op 1.22
Slice from ArrayBuffer x25000 16.758 ms/op 16.661 ms/op 1.01
Slice from ArrayBuffer x25000 + new Uint8Array 18.575 ms/op 18.610 ms/op 1.00
Copy Uint8Array 100000 iterate 2.7526 ms/op 2.6541 ms/op 1.04
Copy Uint8Array 100000 slice 113.13 us/op 120.03 us/op 0.94
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 109.58 us/op 119.67 us/op 0.92
Copy Buffer 100000 Uint8Array.prototype.slice.call 108.63 us/op 124.86 us/op 0.87
Copy Uint8Array 100000 slice + set 220.03 us/op 251.50 us/op 0.87
Copy Uint8Array 100000 subarray + set 109.09 us/op 122.68 us/op 0.89
Copy Uint8Array 100000 slice arrayBuffer 117.28 us/op 124.22 us/op 0.94
Uint64 deserialize 100000 - iterate Uint8Array 2.1046 ms/op 2.2252 ms/op 0.95
Uint64 deserialize 100000 - by Uint32A 2.1756 ms/op 2.1293 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.3050 ms/op 2.1917 ms/op 1.05
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0779 ms/op 5.4629 ms/op 0.93
Uint64 deserialize 100000 - by byte 40.868 ms/op 41.007 ms/op 1.00

by benchmarkbot/action

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.

1 participant