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(persistent-merkle-tree): empty commit to trigger release #451

Merged
merged 1 commit into from
Jan 20, 2025

Conversation

matthewkeil
Copy link
Member

Motivation

Trigger Release

@matthewkeil matthewkeil enabled auto-merge (squash) January 20, 2025 10:58
@matthewkeil matthewkeil merged commit e9bfcc0 into master Jan 20, 2025
8 checks passed
@matthewkeil matthewkeil deleted the mkeil/release-persistent-merkle-tree branch January 20, 2025 11:04
Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 5d62f0e Previous: d5f77f5 Ratio
digestTwoHashObjects 50023 times 48.158 ms/op 48.369 ms/op 1.00
digest2Bytes32 50023 times 54.409 ms/op 55.196 ms/op 0.99
digest 50023 times 53.393 ms/op 54.832 ms/op 0.97
input length 32 1.1770 us/op 1.2190 us/op 0.97
input length 64 1.3160 us/op 1.3660 us/op 0.96
input length 128 2.2510 us/op 2.3020 us/op 0.98
input length 256 3.3450 us/op 3.4700 us/op 0.96
input length 512 5.5270 us/op 5.7190 us/op 0.97
input length 1024 10.584 us/op 10.862 us/op 0.97
digest 1000000 times 852.75 ms/op 898.02 ms/op 0.95
hashObjectToByteArray 50023 times 1.2435 ms/op 1.2289 ms/op 1.01
byteArrayToHashObject 50023 times 1.5171 ms/op 1.6879 ms/op 0.90
digest64 200092 times 218.33 ms/op 216.55 ms/op 1.01
hash 200092 times using batchHash4UintArray64s 248.02 ms/op 243.05 ms/op 1.02
digest64HashObjects 200092 times 194.03 ms/op 192.50 ms/op 1.01
hash 200092 times using batchHash4HashObjectInputs 209.30 ms/op 198.23 ms/op 1.06
getGindicesAtDepth 3.4910 us/op 3.6840 us/op 0.95
iterateAtDepth 6.2110 us/op 6.7580 us/op 0.92
getGindexBits 375.00 ns/op 433.00 ns/op 0.87
gindexIterator 830.00 ns/op 939.00 ns/op 0.88
HashComputationLevel.push then loop 25.278 ms/op 31.846 ms/op 0.79
HashComputation[] push then loop 47.778 ms/op 52.911 ms/op 0.90
hash 2 Uint8Array 500000 times - hashtree 209.70 ms/op 222.36 ms/op 0.94
hashTwoObjects 500000 times - hashtree 208.60 ms/op 210.61 ms/op 0.99
executeHashComputations - hashtree 9.6245 ms/op 10.713 ms/op 0.90
hash 2 Uint8Array 500000 times - as-sha256 550.01 ms/op 568.44 ms/op 0.97
hashTwoObjects 500000 times - as-sha256 514.37 ms/op 511.47 ms/op 1.01
executeHashComputations - as-sha256 47.778 ms/op 49.144 ms/op 0.97
hash 2 Uint8Array 500000 times - noble 1.2190 s/op 1.3580 s/op 0.90
hashTwoObjects 500000 times - noble 1.6261 s/op 1.9710 s/op 0.83
executeHashComputations - noble 36.015 ms/op 37.604 ms/op 0.96
getHashComputations 2.5147 ms/op 2.4494 ms/op 1.03
executeHashComputations 9.9989 ms/op 10.814 ms/op 0.92
get root 15.404 ms/op 15.787 ms/op 0.98
getNodeH() x7812.5 avg hindex 12.240 us/op 12.324 us/op 0.99
getNodeH() x7812.5 index 0 7.5070 us/op 7.5890 us/op 0.99
getNodeH() x7812.5 index 7 7.4530 us/op 7.6370 us/op 0.98
getNodeH() x7812.5 index 7 with key array 6.3570 us/op 6.3500 us/op 1.00
new LeafNode() x7812.5 311.66 us/op 511.99 us/op 0.61
getHashComputations 250000 nodes 14.447 ms/op 15.624 ms/op 0.92
batchHash 250000 nodes 93.296 ms/op 93.154 ms/op 1.00
get root 250000 nodes 117.29 ms/op 118.44 ms/op 0.99
getHashComputations 500000 nodes 27.323 ms/op 42.883 ms/op 0.64
batchHash 500000 nodes 153.31 ms/op 179.10 ms/op 0.86
get root 500000 nodes 233.16 ms/op 236.65 ms/op 0.99
getHashComputations 1000000 nodes 58.796 ms/op 88.192 ms/op 0.67
batchHash 1000000 nodes 382.84 ms/op 367.92 ms/op 1.04
get root 1000000 nodes 465.57 ms/op 473.69 ms/op 0.98
multiproof - depth 15, 1 requested leaves 7.9580 us/op 9.2070 us/op 0.86
tree offset multiproof - depth 15, 1 requested leaves 17.211 us/op 19.764 us/op 0.87
compact multiproof - depth 15, 1 requested leaves 3.0160 us/op 3.7150 us/op 0.81
multiproof - depth 15, 2 requested leaves 11.903 us/op 13.274 us/op 0.90
tree offset multiproof - depth 15, 2 requested leaves 20.993 us/op 23.554 us/op 0.89
compact multiproof - depth 15, 2 requested leaves 3.0710 us/op 3.4670 us/op 0.89
multiproof - depth 15, 3 requested leaves 16.374 us/op 18.150 us/op 0.90
tree offset multiproof - depth 15, 3 requested leaves 27.258 us/op 30.527 us/op 0.89
compact multiproof - depth 15, 3 requested leaves 3.7770 us/op 5.1330 us/op 0.74
multiproof - depth 15, 4 requested leaves 22.038 us/op 24.198 us/op 0.91
tree offset multiproof - depth 15, 4 requested leaves 34.089 us/op 36.393 us/op 0.94
compact multiproof - depth 15, 4 requested leaves 4.3180 us/op 5.4300 us/op 0.80
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.6190 us/op 6.3090 us/op 1.05
packedRootsBytesToLeafNodes bytes 4000 offset 1 6.6210 us/op 6.7210 us/op 0.99
packedRootsBytesToLeafNodes bytes 4000 offset 2 6.6740 us/op 6.1920 us/op 1.08
packedRootsBytesToLeafNodes bytes 4000 offset 3 6.6370 us/op 6.2670 us/op 1.06
subtreeFillToContents depth 40 count 250000 47.924 ms/op 46.351 ms/op 1.03
setRoot - gindexBitstring 20.964 ms/op 27.546 ms/op 0.76
setRoot - gindex 21.480 ms/op 26.315 ms/op 0.82
getRoot - gindexBitstring 2.4755 ms/op 2.9648 ms/op 0.83
getRoot - gindex 3.1513 ms/op 3.7068 ms/op 0.85
getHashObject then setHashObject 22.170 ms/op 27.261 ms/op 0.81
setNodeWithFn 19.766 ms/op 24.583 ms/op 0.80
getNodeAtDepth depth 0 x100000 280.48 us/op 280.43 us/op 1.00
setNodeAtDepth depth 0 x100000 2.5472 ms/op 3.1948 ms/op 0.80
getNodesAtDepth depth 0 x100000 312.55 us/op 313.10 us/op 1.00
setNodesAtDepth depth 0 x100000 778.78 us/op 819.48 us/op 0.95
getNodeAtDepth depth 1 x100000 342.20 us/op 344.49 us/op 0.99
setNodeAtDepth depth 1 x100000 8.9892 ms/op 10.128 ms/op 0.89
getNodesAtDepth depth 1 x100000 435.86 us/op 435.97 us/op 1.00
setNodesAtDepth depth 1 x100000 8.5060 ms/op 8.7739 ms/op 0.97
getNodeAtDepth depth 2 x100000 741.72 us/op 799.47 us/op 0.93
setNodeAtDepth depth 2 x100000 16.603 ms/op 20.738 ms/op 0.80
getNodesAtDepth depth 2 x100000 18.193 ms/op 21.308 ms/op 0.85
setNodesAtDepth depth 2 x100000 25.327 ms/op 27.477 ms/op 0.92
tree.getNodesAtDepth - gindexes 8.4414 ms/op 11.024 ms/op 0.77
tree.getNodesAtDepth - push all nodes 2.3748 ms/op 3.7039 ms/op 0.64
tree.getNodesAtDepth - navigation 312.81 us/op 311.80 us/op 1.00
tree.setNodesAtDepth - indexes 727.38 us/op 900.04 us/op 0.81
set at depth 8 782.00 ns/op 978.00 ns/op 0.80
set at depth 16 1.1550 us/op 1.3510 us/op 0.85
set at depth 32 1.9520 us/op 2.5310 us/op 0.77
iterateNodesAtDepth 8 256 13.880 us/op 16.650 us/op 0.83
getNodesAtDepth 8 256 3.6440 us/op 4.2600 us/op 0.86
iterateNodesAtDepth 16 65536 5.0773 ms/op 5.0635 ms/op 1.00
getNodesAtDepth 16 65536 1.5868 ms/op 2.4978 ms/op 0.64
iterateNodesAtDepth 32 250000 15.836 ms/op 17.732 ms/op 0.89
getNodesAtDepth 32 250000 4.4600 ms/op 5.9239 ms/op 0.75
iterateNodesAtDepth 40 250000 15.739 ms/op 17.702 ms/op 0.89
getNodesAtDepth 40 250000 4.5337 ms/op 6.9046 ms/op 0.66
250000 validators root getter 117.01 ms/op 119.71 ms/op 0.98
250000 validators batchHash() 88.469 ms/op 108.22 ms/op 0.82
250000 validators hashComputations 13.762 ms/op 19.595 ms/op 0.70
bitlist bytes to struct (120,90) 975.00 ns/op 823.00 ns/op 1.18
bitlist bytes to tree (120,90) 2.8700 us/op 2.7190 us/op 1.06
bitlist bytes to struct (2048,2048) 1.0550 us/op 1.1550 us/op 0.91
bitlist bytes to tree (2048,2048) 4.4700 us/op 4.5130 us/op 0.99
ByteListType - deserialize 8.1223 ms/op 10.165 ms/op 0.80
BasicListType - deserialize 17.295 ms/op 18.026 ms/op 0.96
ByteListType - serialize 7.9797 ms/op 10.288 ms/op 0.78
BasicListType - serialize 10.709 ms/op 12.581 ms/op 0.85
BasicListType - tree_convertToStruct 29.685 ms/op 25.699 ms/op 1.16
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.0331 ms/op 5.6968 ms/op 0.88
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3849 ms/op 4.2598 ms/op 1.03
Array.push len 300000 empty Array - number 6.3078 ms/op 7.1633 ms/op 0.88
Array.set len 300000 from new Array - number 2.1383 ms/op 2.4033 ms/op 0.89
Array.set len 300000 - number 6.3657 ms/op 6.9237 ms/op 0.92
Uint8Array.set len 300000 473.97 us/op 503.66 us/op 0.94
Uint32Array.set len 300000 537.30 us/op 612.39 us/op 0.88
Container({a: uint8, b: uint8}) getViewDU x300000 24.719 ms/op 30.132 ms/op 0.82
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.599 ms/op 11.879 ms/op 0.89
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 195.34 ms/op 216.41 ms/op 0.90
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 234.62 ms/op 293.14 ms/op 0.80
List(Container) len 300000 ViewDU.get(i) 6.7157 ms/op 8.3642 ms/op 0.80
List(Container) len 300000 ViewDU.getReadonly(i) 6.2394 ms/op 7.5189 ms/op 0.83
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 36.739 ms/op 39.025 ms/op 0.94
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 4.9026 ms/op 6.1252 ms/op 0.80
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.0107 ms/op 7.0952 ms/op 0.85
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 5.9357 ms/op 6.8990 ms/op 0.86
Array.push len 300000 empty Array - object 5.9341 ms/op 6.9775 ms/op 0.85
Array.set len 300000 from new Array - object 1.9385 ms/op 2.2866 ms/op 0.85
Array.set len 300000 - object 6.0137 ms/op 6.6679 ms/op 0.90
cachePermanentRootStruct no cache 4.9650 us/op 5.8020 us/op 0.86
cachePermanentRootStruct with cache 185.00 ns/op 274.00 ns/op 0.68
epochParticipation len 250000 rws 7813 2.1773 ms/op 2.4856 ms/op 0.88
BeaconState ViewDU hashTreeRoot() vc=200000 112.35 ms/op 119.00 ms/op 0.94
BeaconState ViewDU recursive hash - commit step vc=200000 4.2442 ms/op 5.6809 ms/op 0.75
BeaconState ViewDU validator tree creation vc=10000 37.973 ms/op 42.719 ms/op 0.89
BeaconState ViewDU batchHashTreeRoot vc=200000 101.44 ms/op 111.90 ms/op 0.91
BeaconState ViewDU hashTreeRoot - commit step vc=200000 87.998 ms/op 98.427 ms/op 0.89
BeaconState ViewDU hashTreeRoot - hash step vc=200000 18.165 ms/op 19.131 ms/op 0.95
deserialize Attestation - tree 3.5110 us/op 4.2110 us/op 0.83
deserialize Attestation - struct 1.7430 us/op 2.4200 us/op 0.72
deserialize SignedAggregateAndProof - tree 4.6940 us/op 6.3450 us/op 0.74
deserialize SignedAggregateAndProof - struct 2.8180 us/op 4.0440 us/op 0.70
deserialize SyncCommitteeMessage - tree 1.3130 us/op 1.6480 us/op 0.80
deserialize SyncCommitteeMessage - struct 1.0260 us/op 1.1880 us/op 0.86
deserialize SignedContributionAndProof - tree 2.8500 us/op 3.7220 us/op 0.77
deserialize SignedContributionAndProof - struct 2.1790 us/op 3.1050 us/op 0.70
deserialize SignedBeaconBlock - tree 275.00 us/op 355.16 us/op 0.77
deserialize SignedBeaconBlock - struct 113.24 us/op 164.48 us/op 0.69
BeaconState vc 300000 - deserialize tree 636.83 ms/op 705.19 ms/op 0.90
BeaconState vc 300000 - serialize tree 113.51 ms/op 175.11 ms/op 0.65
BeaconState.historicalRoots vc 300000 - deserialize tree 776.00 ns/op 970.00 ns/op 0.80
BeaconState.historicalRoots vc 300000 - serialize tree 630.00 ns/op 820.00 ns/op 0.77
BeaconState.validators vc 300000 - deserialize tree 580.89 ms/op 650.52 ms/op 0.89
BeaconState.validators vc 300000 - serialize tree 125.01 ms/op 125.57 ms/op 1.00
BeaconState.balances vc 300000 - deserialize tree 26.565 ms/op 29.612 ms/op 0.90
BeaconState.balances vc 300000 - serialize tree 3.9806 ms/op 6.5585 ms/op 0.61
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 907.90 us/op 1.3116 ms/op 0.69
BeaconState.previousEpochParticipation vc 300000 - serialize tree 335.77 us/op 360.82 us/op 0.93
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 934.53 us/op 1.3322 ms/op 0.70
BeaconState.currentEpochParticipation vc 300000 - serialize tree 332.87 us/op 356.02 us/op 0.93
BeaconState.inactivityScores vc 300000 - deserialize tree 31.591 ms/op 30.103 ms/op 1.05
BeaconState.inactivityScores vc 300000 - serialize tree 3.2499 ms/op 5.8042 ms/op 0.56
hashTreeRoot Attestation - struct 15.606 us/op 19.803 us/op 0.79
hashTreeRoot Attestation - tree 9.3180 us/op 9.5720 us/op 0.97
hashTreeRoot SignedAggregateAndProof - struct 23.389 us/op 25.707 us/op 0.91
hashTreeRoot SignedAggregateAndProof - tree 14.019 us/op 14.541 us/op 0.96
hashTreeRoot SyncCommitteeMessage - struct 5.9480 us/op 6.7550 us/op 0.88
hashTreeRoot SyncCommitteeMessage - tree 3.6400 us/op 4.4100 us/op 0.83
hashTreeRoot SignedContributionAndProof - struct 14.506 us/op 17.620 us/op 0.82
hashTreeRoot SignedContributionAndProof - tree 9.5670 us/op 9.9850 us/op 0.96
hashTreeRoot SignedBeaconBlock - struct 1.2210 ms/op 1.4659 ms/op 0.83
hashTreeRoot SignedBeaconBlock - tree 823.36 us/op 878.36 us/op 0.94
hashTreeRoot Validator - struct 7.4880 us/op 8.6630 us/op 0.86
hashTreeRoot Validator - tree 6.8860 us/op 7.7380 us/op 0.89
BeaconState vc 300000 - hashTreeRoot tree 2.2410 s/op 2.4219 s/op 0.93
BeaconState vc 300000 - batchHashTreeRoot tree 4.0077 s/op 4.6211 s/op 0.87
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0770 us/op 1.1890 us/op 0.91
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4379 s/op 2.6902 s/op 0.91
BeaconState.balances vc 300000 - hashTreeRoot tree 35.661 ms/op 40.485 ms/op 0.88
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.3912 ms/op 4.5189 ms/op 0.97
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.3811 ms/op 4.5215 ms/op 0.97
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 39.709 ms/op 38.969 ms/op 1.02
hash64 x18 9.6330 us/op 9.5180 us/op 1.01
hashTwoObjects x18 8.5080 us/op 8.6770 us/op 0.98
hash64 x1740 784.24 us/op 884.88 us/op 0.89
hashTwoObjects x1740 782.20 us/op 808.62 us/op 0.97
hash64 x2700000 1.2048 s/op 1.3650 s/op 0.88
hashTwoObjects x2700000 1.2195 s/op 1.2480 s/op 0.98
get_exitEpoch - ContainerType 237.00 ns/op 339.00 ns/op 0.70
get_exitEpoch - ContainerNodeStructType 238.00 ns/op 343.00 ns/op 0.69
set_exitEpoch - ContainerType 262.00 ns/op 366.00 ns/op 0.72
set_exitEpoch - ContainerNodeStructType 244.00 ns/op 362.00 ns/op 0.67
get_pubkey - ContainerType 930.00 ns/op 1.3650 us/op 0.68
get_pubkey - ContainerNodeStructType 248.00 ns/op 346.00 ns/op 0.72
hashTreeRoot - ContainerType 431.00 ns/op 612.00 ns/op 0.70
hashTreeRoot - ContainerNodeStructType 390.00 ns/op 572.00 ns/op 0.68
createProof - ContainerType 4.0420 us/op 5.5900 us/op 0.72
createProof - ContainerNodeStructType 21.120 us/op 27.889 us/op 0.76
serialize - ContainerType 1.6210 us/op 2.0490 us/op 0.79
serialize - ContainerNodeStructType 1.3340 us/op 1.8070 us/op 0.74
set_exitEpoch_and_hashTreeRoot - ContainerType 2.6840 us/op 3.2620 us/op 0.82
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.5340 us/op 8.7910 us/op 0.86
Array - for of 8.8210 us/op 9.0240 us/op 0.98
Array - for(;;) 9.0600 us/op 9.4010 us/op 0.96
basicListValue.readonlyValuesArray() 4.5402 ms/op 7.9026 ms/op 0.57
basicListValue.readonlyValuesArray() + loop all 4.6531 ms/op 8.2711 ms/op 0.56
compositeListValue.readonlyValuesArray() 29.928 ms/op 33.520 ms/op 0.89
compositeListValue.readonlyValuesArray() + loop all 30.010 ms/op 33.575 ms/op 0.89
Number64UintType - get balances list 4.3135 ms/op 5.0248 ms/op 0.86
Number64UintType - set balances list 9.9338 ms/op 10.647 ms/op 0.93
Number64UintType - get and increase 10 then set 42.725 ms/op 42.899 ms/op 1.00
Number64UintType - increase 10 using applyDelta 16.169 ms/op 18.016 ms/op 0.90
Number64UintType - increase 10 using applyDeltaInBatch 16.415 ms/op 18.337 ms/op 0.90
tree_newTreeFromUint64Deltas 20.462 ms/op 24.325 ms/op 0.84
unsafeUint8ArrayToTree 38.203 ms/op 45.571 ms/op 0.84
bitLength(50) 235.00 ns/op 299.00 ns/op 0.79
bitLengthStr(50) 226.00 ns/op 263.00 ns/op 0.86
bitLength(8000) 226.00 ns/op 291.00 ns/op 0.78
bitLengthStr(8000) 272.00 ns/op 288.00 ns/op 0.94
bitLength(250000) 224.00 ns/op 290.00 ns/op 0.77
bitLengthStr(250000) 305.00 ns/op 334.00 ns/op 0.91
floor - Math.floor (53) 1.2430 ns/op 1.2437 ns/op 1.00
floor - << 0 (53) 1.2432 ns/op 1.2462 ns/op 1.00
floor - Math.floor (512) 1.2532 ns/op 1.2444 ns/op 1.01
floor - << 0 (512) 1.2547 ns/op 1.2431 ns/op 1.01
fnIf(0) 1.5575 ns/op 1.5749 ns/op 0.99
fnSwitch(0) 2.1750 ns/op 2.1772 ns/op 1.00
fnObj(0) 1.5654 ns/op 1.5587 ns/op 1.00
fnArr(0) 1.5535 ns/op 1.5551 ns/op 1.00
fnIf(4) 2.1971 ns/op 2.1756 ns/op 1.01
fnSwitch(4) 2.1756 ns/op 2.1820 ns/op 1.00
fnObj(4) 1.5885 ns/op 1.5845 ns/op 1.00
fnArr(4) 1.5545 ns/op 1.5542 ns/op 1.00
fnIf(9) 3.1238 ns/op 3.1195 ns/op 1.00
fnSwitch(9) 2.1713 ns/op 2.1758 ns/op 1.00
fnObj(9) 1.5721 ns/op 1.5606 ns/op 1.01
fnArr(9) 1.5553 ns/op 1.5550 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.38 us/op 124.60 us/op 1.00
Container {a,b,vec} - as tree x100000 529.39 us/op 528.98 us/op 1.00
Container {a,vec,b} - as struct x100000 157.00 us/op 155.57 us/op 1.01
Container {a,vec,b} - as tree x100000 497.51 us/op 497.48 us/op 1.00
get 2 props x1000000 - rawObject 312.10 us/op 311.47 us/op 1.00
get 2 props x1000000 - proxy 73.110 ms/op 73.062 ms/op 1.00
get 2 props x1000000 - customObj 312.70 us/op 313.95 us/op 1.00
Simple object binary -> struct 988.00 ns/op 1.0090 us/op 0.98
Simple object binary -> tree_backed 2.6190 us/op 2.6650 us/op 0.98
Simple object struct -> tree_backed 2.9260 us/op 3.1000 us/op 0.94
Simple object tree_backed -> struct 2.6470 us/op 2.7210 us/op 0.97
Simple object struct -> binary 1.3760 us/op 1.3340 us/op 1.03
Simple object tree_backed -> binary 2.3160 us/op 1.9600 us/op 1.18
aggregationBits binary -> struct 977.00 ns/op 854.00 ns/op 1.14
aggregationBits binary -> tree_backed 3.6660 us/op 3.8600 us/op 0.95
aggregationBits struct -> tree_backed 4.1840 us/op 4.5540 us/op 0.92
aggregationBits tree_backed -> struct 1.7810 us/op 1.7380 us/op 1.02
aggregationBits struct -> binary 866.00 ns/op 930.00 ns/op 0.93
aggregationBits tree_backed -> binary 1.1000 us/op 1.2060 us/op 0.91
List(uint8) 100000 binary -> struct 1.7934 ms/op 2.0686 ms/op 0.87
List(uint8) 100000 binary -> tree_backed 271.03 us/op 342.63 us/op 0.79
List(uint8) 100000 struct -> tree_backed 1.3684 ms/op 1.4780 ms/op 0.93
List(uint8) 100000 tree_backed -> struct 1.0381 ms/op 1.2465 ms/op 0.83
List(uint8) 100000 struct -> binary 1.0990 ms/op 1.1223 ms/op 0.98
List(uint8) 100000 tree_backed -> binary 105.79 us/op 110.49 us/op 0.96
List(uint64Number) 100000 binary -> struct 1.2845 ms/op 1.5494 ms/op 0.83
List(uint64Number) 100000 binary -> tree_backed 4.6113 ms/op 4.9826 ms/op 0.93
List(uint64Number) 100000 struct -> tree_backed 6.8421 ms/op 7.2084 ms/op 0.95
List(uint64Number) 100000 tree_backed -> struct 2.3454 ms/op 2.9391 ms/op 0.80
List(uint64Number) 100000 struct -> binary 1.4955 ms/op 1.8169 ms/op 0.82
List(uint64Number) 100000 tree_backed -> binary 989.79 us/op 1.0245 ms/op 0.97
List(Uint64Bigint) 100000 binary -> struct 3.7143 ms/op 4.2695 ms/op 0.87
List(Uint64Bigint) 100000 binary -> tree_backed 5.0356 ms/op 5.5953 ms/op 0.90
List(Uint64Bigint) 100000 struct -> tree_backed 6.6380 ms/op 7.5561 ms/op 0.88
List(Uint64Bigint) 100000 tree_backed -> struct 4.7301 ms/op 6.4285 ms/op 0.74
List(Uint64Bigint) 100000 struct -> binary 2.1491 ms/op 2.1144 ms/op 1.02
List(Uint64Bigint) 100000 tree_backed -> binary 1.0989 ms/op 1.6183 ms/op 0.68
Vector(Root) 100000 binary -> struct 35.421 ms/op 38.395 ms/op 0.92
Vector(Root) 100000 binary -> tree_backed 35.242 ms/op 42.091 ms/op 0.84
Vector(Root) 100000 struct -> tree_backed 53.117 ms/op 59.286 ms/op 0.90
Vector(Root) 100000 tree_backed -> struct 52.965 ms/op 60.646 ms/op 0.87
Vector(Root) 100000 struct -> binary 2.8516 ms/op 2.8264 ms/op 1.01
Vector(Root) 100000 tree_backed -> binary 6.0341 ms/op 7.3762 ms/op 0.82
List(Validator) 100000 binary -> struct 102.74 ms/op 114.28 ms/op 0.90
List(Validator) 100000 binary -> tree_backed 351.76 ms/op 398.04 ms/op 0.88
List(Validator) 100000 struct -> tree_backed 380.82 ms/op 416.02 ms/op 0.92
List(Validator) 100000 tree_backed -> struct 221.44 ms/op 234.24 ms/op 0.95
List(Validator) 100000 struct -> binary 29.219 ms/op 30.158 ms/op 0.97
List(Validator) 100000 tree_backed -> binary 110.72 ms/op 116.39 ms/op 0.95
List(Validator-NS) 100000 binary -> struct 96.677 ms/op 114.08 ms/op 0.85
List(Validator-NS) 100000 binary -> tree_backed 154.19 ms/op 176.29 ms/op 0.87
List(Validator-NS) 100000 struct -> tree_backed 200.33 ms/op 221.05 ms/op 0.91
List(Validator-NS) 100000 tree_backed -> struct 167.80 ms/op 179.44 ms/op 0.94
List(Validator-NS) 100000 struct -> binary 28.834 ms/op 29.949 ms/op 0.96
List(Validator-NS) 100000 tree_backed -> binary 33.863 ms/op 35.637 ms/op 0.95
get epochStatuses - MutableVector 107.94 us/op 96.779 us/op 1.12
get epochStatuses - ViewDU 209.16 us/op 205.85 us/op 1.02
set epochStatuses - ListTreeView 2.0340 ms/op 2.2542 ms/op 0.90
set epochStatuses - ListTreeView - set() 441.84 us/op 440.41 us/op 1.00
set epochStatuses - ListTreeView - commit() 749.67 us/op 816.03 us/op 0.92
bitstring 511.20 ns/op 522.69 ns/op 0.98
bit mask 13.762 ns/op 13.508 ns/op 1.02
struct - increase slot to 1000000 938.26 us/op 937.49 us/op 1.00
UintNumberType - increase slot to 1000000 26.758 ms/op 26.769 ms/op 1.00
UintBigintType - increase slot to 1000000 171.98 ms/op 209.43 ms/op 0.82
UintBigint8 x 100000 tree_deserialize 4.7750 ms/op 6.2121 ms/op 0.77
UintBigint8 x 100000 tree_serialize 1.0965 ms/op 1.1060 ms/op 0.99
UintBigint16 x 100000 tree_deserialize 4.8346 ms/op 5.9680 ms/op 0.81
UintBigint16 x 100000 tree_serialize 1.2668 ms/op 1.5671 ms/op 0.81
UintBigint32 x 100000 tree_deserialize 5.9103 ms/op 6.2152 ms/op 0.95
UintBigint32 x 100000 tree_serialize 1.7742 ms/op 2.0135 ms/op 0.88
UintBigint64 x 100000 tree_deserialize 6.5686 ms/op 8.2943 ms/op 0.79
UintBigint64 x 100000 tree_serialize 2.4478 ms/op 3.1525 ms/op 0.78
UintBigint8 x 100000 value_deserialize 441.50 us/op 439.90 us/op 1.00
UintBigint8 x 100000 value_serialize 734.61 us/op 985.03 us/op 0.75
UintBigint16 x 100000 value_deserialize 470.24 us/op 466.56 us/op 1.01
UintBigint16 x 100000 value_serialize 785.28 us/op 928.91 us/op 0.85
UintBigint32 x 100000 value_deserialize 500.50 us/op 498.16 us/op 1.00
UintBigint32 x 100000 value_serialize 809.71 us/op 1.1745 ms/op 0.69
UintBigint64 x 100000 value_deserialize 564.17 us/op 561.77 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0053 ms/op 1.6313 ms/op 0.62
UintBigint8 x 100000 deserialize 3.0028 ms/op 3.8476 ms/op 0.78
UintBigint8 x 100000 serialize 1.6158 ms/op 1.6596 ms/op 0.97
UintBigint16 x 100000 deserialize 3.0258 ms/op 4.1541 ms/op 0.73
UintBigint16 x 100000 serialize 1.6671 ms/op 1.6302 ms/op 1.02
UintBigint32 x 100000 deserialize 3.0411 ms/op 4.1836 ms/op 0.73
UintBigint32 x 100000 serialize 2.8007 ms/op 3.1301 ms/op 0.89
UintBigint64 x 100000 deserialize 4.2276 ms/op 4.9793 ms/op 0.85
UintBigint64 x 100000 serialize 1.6329 ms/op 1.6484 ms/op 0.99
UintBigint128 x 100000 deserialize 5.7947 ms/op 6.0969 ms/op 0.95
UintBigint128 x 100000 serialize 14.929 ms/op 16.122 ms/op 0.93
UintBigint256 x 100000 deserialize 8.3003 ms/op 9.4280 ms/op 0.88
UintBigint256 x 100000 serialize 43.552 ms/op 46.548 ms/op 0.94
Slice from Uint8Array x25000 1.3323 ms/op 1.5594 ms/op 0.85
Slice from ArrayBuffer x25000 15.076 ms/op 16.928 ms/op 0.89
Slice from ArrayBuffer x25000 + new Uint8Array 15.120 ms/op 19.356 ms/op 0.78
Copy Uint8Array 100000 iterate 2.6654 ms/op 2.6810 ms/op 0.99
Copy Uint8Array 100000 slice 78.002 us/op 146.67 us/op 0.53
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 80.822 us/op 148.21 us/op 0.55
Copy Buffer 100000 Uint8Array.prototype.slice.call 78.371 us/op 148.06 us/op 0.53
Copy Uint8Array 100000 slice + set 162.25 us/op 297.05 us/op 0.55
Copy Uint8Array 100000 subarray + set 77.921 us/op 147.08 us/op 0.53
Copy Uint8Array 100000 slice arrayBuffer 80.307 us/op 148.83 us/op 0.54
Uint64 deserialize 100000 - iterate Uint8Array 1.9367 ms/op 2.2593 ms/op 0.86
Uint64 deserialize 100000 - by Uint32A 1.9496 ms/op 2.1176 ms/op 0.92
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.8099 ms/op 2.2177 ms/op 0.82
Uint64 deserialize 100000 - by DataView.getBigUint64 4.7716 ms/op 5.4989 ms/op 0.87
Uint64 deserialize 100000 - by byte 40.478 ms/op 40.851 ms/op 0.99

by benchmarkbot/action

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