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-ts): empty commit to trigger release from package.json… #446

Merged
merged 1 commit into from
Jan 18, 2025

Conversation

matthewkeil
Copy link
Member

#444 MUST be merged before this PR

Motivation

Release persistent-ts patch

Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 2765f53 Previous: 7c6ce61 Ratio
digestTwoHashObjects 50023 times 48.780 ms/op 48.741 ms/op 1.00
digest2Bytes32 50023 times 54.836 ms/op 54.968 ms/op 1.00
digest 50023 times 53.955 ms/op 53.952 ms/op 1.00
input length 32 1.1730 us/op 1.1960 us/op 0.98
input length 64 1.3030 us/op 1.3280 us/op 0.98
input length 128 2.2530 us/op 2.2820 us/op 0.99
input length 256 3.3530 us/op 3.3600 us/op 1.00
input length 512 5.5450 us/op 5.5210 us/op 1.00
input length 1024 10.764 us/op 10.735 us/op 1.00
digest 1000000 times 866.93 ms/op 875.60 ms/op 0.99
hashObjectToByteArray 50023 times 1.2284 ms/op 1.2286 ms/op 1.00
byteArrayToHashObject 50023 times 1.5257 ms/op 1.6813 ms/op 0.91
digest64 200092 times 219.07 ms/op 214.14 ms/op 1.02
hash 200092 times using batchHash4UintArray64s 236.32 ms/op 236.28 ms/op 1.00
digest64HashObjects 200092 times 192.80 ms/op 193.58 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 202.10 ms/op 195.48 ms/op 1.03
getGindicesAtDepth 3.4770 us/op 3.6810 us/op 0.94
iterateAtDepth 6.2510 us/op 6.6460 us/op 0.94
getGindexBits 379.00 ns/op 409.00 ns/op 0.93
gindexIterator 865.00 ns/op 895.00 ns/op 0.97
HashComputationLevel.push then loop 25.397 ms/op 26.791 ms/op 0.95
HashComputation[] push then loop 47.670 ms/op 39.357 ms/op 1.21
hash 2 Uint8Array 500000 times - hashtree 213.17 ms/op 220.11 ms/op 0.97
hashTwoObjects 500000 times - hashtree 212.82 ms/op 241.68 ms/op 0.88
executeHashComputations - hashtree 10.136 ms/op 10.193 ms/op 0.99
hash 2 Uint8Array 500000 times - as-sha256 567.92 ms/op 567.94 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 509.24 ms/op 510.93 ms/op 1.00
executeHashComputations - as-sha256 46.943 ms/op 45.601 ms/op 1.03
hash 2 Uint8Array 500000 times - noble 1.2235 s/op 1.3025 s/op 0.94
hashTwoObjects 500000 times - noble 1.6400 s/op 1.8027 s/op 0.91
executeHashComputations - noble 36.471 ms/op 37.356 ms/op 0.98
getHashComputations 2.1562 ms/op 2.5649 ms/op 0.84
executeHashComputations 9.7501 ms/op 9.7450 ms/op 1.00
get root 15.764 ms/op 15.677 ms/op 1.01
getNodeH() x7812.5 avg hindex 12.180 us/op 12.437 us/op 0.98
getNodeH() x7812.5 index 0 7.5790 us/op 7.5120 us/op 1.01
getNodeH() x7812.5 index 7 7.4740 us/op 7.5440 us/op 0.99
getNodeH() x7812.5 index 7 with key array 6.4020 us/op 6.3990 us/op 1.00
new LeafNode() x7812.5 292.88 us/op 476.32 us/op 0.61
getHashComputations 250000 nodes 14.693 ms/op 16.139 ms/op 0.91
batchHash 250000 nodes 83.270 ms/op 88.603 ms/op 0.94
get root 250000 nodes 119.32 ms/op 117.13 ms/op 1.02
getHashComputations 500000 nodes 27.844 ms/op 29.204 ms/op 0.95
batchHash 500000 nodes 156.01 ms/op 159.73 ms/op 0.98
get root 500000 nodes 237.83 ms/op 234.32 ms/op 1.02
getHashComputations 1000000 nodes 63.019 ms/op 83.344 ms/op 0.76
batchHash 1000000 nodes 369.54 ms/op 386.32 ms/op 0.96
get root 1000000 nodes 465.27 ms/op 473.15 ms/op 0.98
multiproof - depth 15, 1 requested leaves 7.8510 us/op 8.7460 us/op 0.90
tree offset multiproof - depth 15, 1 requested leaves 17.789 us/op 19.798 us/op 0.90
compact multiproof - depth 15, 1 requested leaves 2.9700 us/op 3.4110 us/op 0.87
multiproof - depth 15, 2 requested leaves 11.456 us/op 12.441 us/op 0.92
tree offset multiproof - depth 15, 2 requested leaves 20.733 us/op 23.255 us/op 0.89
compact multiproof - depth 15, 2 requested leaves 2.9690 us/op 3.5800 us/op 0.83
multiproof - depth 15, 3 requested leaves 16.219 us/op 16.807 us/op 0.97
tree offset multiproof - depth 15, 3 requested leaves 27.067 us/op 29.015 us/op 0.93
compact multiproof - depth 15, 3 requested leaves 3.6470 us/op 4.3050 us/op 0.85
multiproof - depth 15, 4 requested leaves 21.387 us/op 23.975 us/op 0.89
tree offset multiproof - depth 15, 4 requested leaves 33.789 us/op 38.410 us/op 0.88
compact multiproof - depth 15, 4 requested leaves 4.2500 us/op 5.7290 us/op 0.74
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.5570 us/op 6.3680 us/op 0.87
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.5130 us/op 6.2690 us/op 0.88
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.5290 us/op 6.6780 us/op 0.83
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.6070 us/op 6.2530 us/op 0.90
subtreeFillToContents depth 40 count 250000 49.082 ms/op 49.117 ms/op 1.00
setRoot - gindexBitstring 20.278 ms/op 27.897 ms/op 0.73
setRoot - gindex 20.770 ms/op 25.670 ms/op 0.81
getRoot - gindexBitstring 2.4969 ms/op 2.9305 ms/op 0.85
getRoot - gindex 3.1918 ms/op 3.6564 ms/op 0.87
getHashObject then setHashObject 21.251 ms/op 28.342 ms/op 0.75
setNodeWithFn 18.922 ms/op 25.055 ms/op 0.76
getNodeAtDepth depth 0 x100000 282.56 us/op 280.21 us/op 1.01
setNodeAtDepth depth 0 x100000 2.4165 ms/op 2.7490 ms/op 0.88
getNodesAtDepth depth 0 x100000 311.92 us/op 312.17 us/op 1.00
setNodesAtDepth depth 0 x100000 762.74 us/op 759.63 us/op 1.00
getNodeAtDepth depth 1 x100000 342.15 us/op 342.64 us/op 1.00
setNodeAtDepth depth 1 x100000 7.8166 ms/op 8.9980 ms/op 0.87
getNodesAtDepth depth 1 x100000 435.98 us/op 437.36 us/op 1.00
setNodesAtDepth depth 1 x100000 6.6296 ms/op 9.3770 ms/op 0.71
getNodeAtDepth depth 2 x100000 784.66 us/op 763.59 us/op 1.03
setNodeAtDepth depth 2 x100000 14.873 ms/op 19.032 ms/op 0.78
getNodesAtDepth depth 2 x100000 18.716 ms/op 20.630 ms/op 0.91
setNodesAtDepth depth 2 x100000 21.814 ms/op 28.564 ms/op 0.76
tree.getNodesAtDepth - gindexes 8.3475 ms/op 11.896 ms/op 0.70
tree.getNodesAtDepth - push all nodes 2.1946 ms/op 2.8585 ms/op 0.77
tree.getNodesAtDepth - navigation 311.88 us/op 313.88 us/op 0.99
tree.setNodesAtDepth - indexes 709.68 us/op 923.31 us/op 0.77
set at depth 8 764.00 ns/op 970.00 ns/op 0.79
set at depth 16 1.1270 us/op 1.3770 us/op 0.82
set at depth 32 1.8850 us/op 2.2330 us/op 0.84
iterateNodesAtDepth 8 256 13.948 us/op 15.276 us/op 0.91
getNodesAtDepth 8 256 3.6580 us/op 4.1460 us/op 0.88
iterateNodesAtDepth 16 65536 4.5317 ms/op 5.4222 ms/op 0.84
getNodesAtDepth 16 65536 1.8769 ms/op 1.6474 ms/op 1.14
iterateNodesAtDepth 32 250000 16.537 ms/op 16.120 ms/op 1.03
getNodesAtDepth 32 250000 4.7881 ms/op 4.6920 ms/op 1.02
iterateNodesAtDepth 40 250000 16.528 ms/op 16.458 ms/op 1.00
getNodesAtDepth 40 250000 4.7866 ms/op 4.6999 ms/op 1.02
250000 validators root getter 119.68 ms/op 118.17 ms/op 1.01
250000 validators batchHash() 100.30 ms/op 100.34 ms/op 1.00
250000 validators hashComputations 19.965 ms/op 19.620 ms/op 1.02
bitlist bytes to struct (120,90) 678.00 ns/op 837.00 ns/op 0.81
bitlist bytes to tree (120,90) 2.9200 us/op 2.8810 us/op 1.01
bitlist bytes to struct (2048,2048) 1.0720 us/op 1.6100 us/op 0.67
bitlist bytes to tree (2048,2048) 3.9380 us/op 6.0540 us/op 0.65
ByteListType - deserialize 7.1490 ms/op 12.644 ms/op 0.57
BasicListType - deserialize 14.020 ms/op 16.531 ms/op 0.85
ByteListType - serialize 7.6620 ms/op 8.4285 ms/op 0.91
BasicListType - serialize 9.6585 ms/op 10.689 ms/op 0.90
BasicListType - tree_convertToStruct 25.363 ms/op 27.664 ms/op 0.92
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.5623 ms/op 5.1153 ms/op 0.89
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.5527 ms/op 7.3303 ms/op 0.89
Array.set len 300000 from new Array - number 1.7050 ms/op 1.7864 ms/op 0.95
Array.set len 300000 - number 5.5544 ms/op 6.2250 ms/op 0.89
Uint8Array.set len 300000 488.63 us/op 494.41 us/op 0.99
Uint32Array.set len 300000 573.51 us/op 574.07 us/op 1.00
Container({a: uint8, b: uint8}) getViewDU x300000 25.452 ms/op 26.477 ms/op 0.96
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.677 ms/op 11.200 ms/op 0.95
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 207.95 ms/op 220.88 ms/op 0.94
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 244.78 ms/op 274.70 ms/op 0.89
List(Container) len 300000 ViewDU.get(i) 6.5180 ms/op 7.4201 ms/op 0.88
List(Container) len 300000 ViewDU.getReadonly(i) 6.2600 ms/op 7.2268 ms/op 0.87
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 39.218 ms/op 38.620 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 4.9696 ms/op 5.7864 ms/op 0.86
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.0979 ms/op 6.5384 ms/op 0.93
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 5.9363 ms/op 6.8361 ms/op 0.87
Array.push len 300000 empty Array - object 6.3889 ms/op 7.0619 ms/op 0.90
Array.set len 300000 from new Array - object 2.0922 ms/op 2.0874 ms/op 1.00
Array.set len 300000 - object 5.7298 ms/op 6.7077 ms/op 0.85
cachePermanentRootStruct no cache 5.0560 us/op 5.8700 us/op 0.86
cachePermanentRootStruct with cache 187.00 ns/op 234.00 ns/op 0.80
epochParticipation len 250000 rws 7813 2.2553 ms/op 2.3194 ms/op 0.97
BeaconState ViewDU hashTreeRoot() vc=200000 113.46 ms/op 116.98 ms/op 0.97
BeaconState ViewDU recursive hash - commit step vc=200000 4.9570 ms/op 4.9737 ms/op 1.00
BeaconState ViewDU validator tree creation vc=10000 39.112 ms/op 40.516 ms/op 0.97
BeaconState ViewDU batchHashTreeRoot vc=200000 101.19 ms/op 108.20 ms/op 0.94
BeaconState ViewDU hashTreeRoot - commit step vc=200000 91.078 ms/op 95.600 ms/op 0.95
BeaconState ViewDU hashTreeRoot - hash step vc=200000 16.384 ms/op 20.308 ms/op 0.81
deserialize Attestation - tree 3.5040 us/op 4.3040 us/op 0.81
deserialize Attestation - struct 1.8290 us/op 2.1940 us/op 0.83
deserialize SignedAggregateAndProof - tree 4.6490 us/op 5.5320 us/op 0.84
deserialize SignedAggregateAndProof - struct 2.9570 us/op 3.4880 us/op 0.85
deserialize SyncCommitteeMessage - tree 1.3670 us/op 1.5930 us/op 0.86
deserialize SyncCommitteeMessage - struct 1.0050 us/op 1.1390 us/op 0.88
deserialize SignedContributionAndProof - tree 2.8670 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 117.05 us/op 147.16 us/op 0.80
BeaconState vc 300000 - deserialize tree 632.21 ms/op 677.60 ms/op 0.93
BeaconState vc 300000 - serialize tree 176.88 ms/op 133.11 ms/op 1.33
BeaconState.historicalRoots vc 300000 - deserialize tree 850.00 ns/op 868.00 ns/op 0.98
BeaconState.historicalRoots vc 300000 - serialize tree 629.00 ns/op 738.00 ns/op 0.85
BeaconState.validators vc 300000 - deserialize tree 602.11 ms/op 643.85 ms/op 0.94
BeaconState.validators vc 300000 - serialize tree 109.92 ms/op 110.95 ms/op 0.99
BeaconState.balances vc 300000 - deserialize tree 29.524 ms/op 26.714 ms/op 1.11
BeaconState.balances vc 300000 - serialize tree 3.7901 ms/op 4.2914 ms/op 0.88
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 904.34 us/op 1.0537 ms/op 0.86
BeaconState.previousEpochParticipation vc 300000 - serialize tree 322.28 us/op 325.70 us/op 0.99
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 910.93 us/op 1.0264 ms/op 0.89
BeaconState.currentEpochParticipation vc 300000 - serialize tree 326.67 us/op 327.56 us/op 1.00
BeaconState.inactivityScores vc 300000 - deserialize tree 26.399 ms/op 26.985 ms/op 0.98
BeaconState.inactivityScores vc 300000 - serialize tree 3.5271 ms/op 5.0875 ms/op 0.69
hashTreeRoot Attestation - struct 15.579 us/op 21.132 us/op 0.74
hashTreeRoot Attestation - tree 9.4050 us/op 9.4350 us/op 1.00
hashTreeRoot SignedAggregateAndProof - struct 22.866 us/op 34.495 us/op 0.66
hashTreeRoot SignedAggregateAndProof - tree 14.212 us/op 14.150 us/op 1.00
hashTreeRoot SyncCommitteeMessage - struct 5.8570 us/op 7.0070 us/op 0.84
hashTreeRoot SyncCommitteeMessage - tree 3.7260 us/op 3.4740 us/op 1.07
hashTreeRoot SignedContributionAndProof - struct 14.422 us/op 17.568 us/op 0.82
hashTreeRoot SignedContributionAndProof - tree 9.6100 us/op 9.7030 us/op 0.99
hashTreeRoot SignedBeaconBlock - struct 1.2297 ms/op 1.4744 ms/op 0.83
hashTreeRoot SignedBeaconBlock - tree 832.08 us/op 846.04 us/op 0.98
hashTreeRoot Validator - struct 7.6110 us/op 9.7090 us/op 0.78
hashTreeRoot Validator - tree 6.8800 us/op 8.5330 us/op 0.81
BeaconState vc 300000 - hashTreeRoot tree 2.2792 s/op 2.4313 s/op 0.94
BeaconState vc 300000 - batchHashTreeRoot tree 4.1460 s/op 4.3691 s/op 0.95
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0600 us/op 1.1900 us/op 0.89
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4676 s/op 2.6390 s/op 0.94
BeaconState.balances vc 300000 - hashTreeRoot tree 35.556 ms/op 39.599 ms/op 0.90
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.4348 ms/op 4.4652 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.4075 ms/op 4.4568 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 35.598 ms/op 38.099 ms/op 0.93
hash64 x18 9.1160 us/op 9.5420 us/op 0.96
hashTwoObjects x18 8.3180 us/op 8.2650 us/op 1.01
hash64 x1740 817.00 us/op 857.79 us/op 0.95
hashTwoObjects x1740 782.71 us/op 768.58 us/op 1.02
hash64 x2700000 1.2755 s/op 1.3336 s/op 0.96
hashTwoObjects x2700000 1.2129 s/op 1.2011 s/op 1.01
get_exitEpoch - ContainerType 249.00 ns/op 271.00 ns/op 0.92
get_exitEpoch - ContainerNodeStructType 241.00 ns/op 287.00 ns/op 0.84
set_exitEpoch - ContainerType 260.00 ns/op 294.00 ns/op 0.88
set_exitEpoch - ContainerNodeStructType 250.00 ns/op 289.00 ns/op 0.87
get_pubkey - ContainerType 952.00 ns/op 1.1720 us/op 0.81
get_pubkey - ContainerNodeStructType 235.00 ns/op 266.00 ns/op 0.88
hashTreeRoot - ContainerType 456.00 ns/op 495.00 ns/op 0.92
hashTreeRoot - ContainerNodeStructType 403.00 ns/op 497.00 ns/op 0.81
createProof - ContainerType 4.2630 us/op 4.7680 us/op 0.89
createProof - ContainerNodeStructType 22.260 us/op 25.838 us/op 0.86
serialize - ContainerType 1.7620 us/op 1.9290 us/op 0.91
serialize - ContainerNodeStructType 1.4030 us/op 1.5880 us/op 0.88
set_exitEpoch_and_hashTreeRoot - ContainerType 3.0590 us/op 3.0970 us/op 0.99
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.4020 us/op 8.2850 us/op 0.89
Array - for of 5.5660 us/op 6.8240 us/op 0.82
Array - for(;;) 5.4980 us/op 6.7380 us/op 0.82
basicListValue.readonlyValuesArray() 4.1120 ms/op 6.4371 ms/op 0.64
basicListValue.readonlyValuesArray() + loop all 4.1817 ms/op 6.2529 ms/op 0.67
compositeListValue.readonlyValuesArray() 27.519 ms/op 32.589 ms/op 0.84
compositeListValue.readonlyValuesArray() + loop all 31.193 ms/op 30.299 ms/op 1.03
Number64UintType - get balances list 4.6040 ms/op 4.9520 ms/op 0.93
Number64UintType - set balances list 9.9103 ms/op 10.211 ms/op 0.97
Number64UintType - get and increase 10 then set 43.991 ms/op 40.453 ms/op 1.09
Number64UintType - increase 10 using applyDelta 16.716 ms/op 15.113 ms/op 1.11
Number64UintType - increase 10 using applyDeltaInBatch 16.846 ms/op 15.012 ms/op 1.12
tree_newTreeFromUint64Deltas 22.200 ms/op 20.309 ms/op 1.09
unsafeUint8ArrayToTree 38.729 ms/op 42.927 ms/op 0.90
bitLength(50) 231.00 ns/op 278.00 ns/op 0.83
bitLengthStr(50) 216.00 ns/op 249.00 ns/op 0.87
bitLength(8000) 218.00 ns/op 270.00 ns/op 0.81
bitLengthStr(8000) 251.00 ns/op 285.00 ns/op 0.88
bitLength(250000) 225.00 ns/op 284.00 ns/op 0.79
bitLengthStr(250000) 277.00 ns/op 373.00 ns/op 0.74
floor - Math.floor (53) 1.2437 ns/op 1.2438 ns/op 1.00
floor - << 0 (53) 1.2432 ns/op 1.2444 ns/op 1.00
floor - Math.floor (512) 1.2467 ns/op 1.2434 ns/op 1.00
floor - << 0 (512) 1.2436 ns/op 1.2439 ns/op 1.00
fnIf(0) 1.5556 ns/op 1.5541 ns/op 1.00
fnSwitch(0) 2.1760 ns/op 2.1772 ns/op 1.00
fnObj(0) 1.5534 ns/op 1.5679 ns/op 0.99
fnArr(0) 1.5534 ns/op 1.5725 ns/op 0.99
fnIf(4) 2.1749 ns/op 2.1776 ns/op 1.00
fnSwitch(4) 2.1753 ns/op 2.1775 ns/op 1.00
fnObj(4) 1.5539 ns/op 1.5747 ns/op 0.99
fnArr(4) 1.5545 ns/op 1.5550 ns/op 1.00
fnIf(9) 3.1070 ns/op 3.1422 ns/op 0.99
fnSwitch(9) 2.1757 ns/op 2.1840 ns/op 1.00
fnObj(9) 1.5555 ns/op 1.5767 ns/op 0.99
fnArr(9) 1.5651 ns/op 1.5559 ns/op 1.01
Container {a,b,vec} - as struct x100000 124.57 us/op 125.45 us/op 0.99
Container {a,b,vec} - as tree x100000 872.33 us/op 530.61 us/op 1.64
Container {a,vec,b} - as struct x100000 155.61 us/op 155.65 us/op 1.00
Container {a,vec,b} - as tree x100000 497.47 us/op 499.43 us/op 1.00
get 2 props x1000000 - rawObject 312.07 us/op 311.41 us/op 1.00
get 2 props x1000000 - proxy 74.330 ms/op 74.591 ms/op 1.00
get 2 props x1000000 - customObj 311.12 us/op 312.39 us/op 1.00
Simple object binary -> struct 727.00 ns/op 1.0670 us/op 0.68
Simple object binary -> tree_backed 1.9960 us/op 2.7690 us/op 0.72
Simple object struct -> tree_backed 2.6460 us/op 3.0530 us/op 0.87
Simple object tree_backed -> struct 1.9160 us/op 2.7540 us/op 0.70
Simple object struct -> binary 974.00 ns/op 1.3150 us/op 0.74
Simple object tree_backed -> binary 1.6650 us/op 2.3670 us/op 0.70
aggregationBits binary -> struct 679.00 ns/op 1.0270 us/op 0.66
aggregationBits binary -> tree_backed 2.6440 us/op 3.0870 us/op 0.86
aggregationBits struct -> tree_backed 3.0990 us/op 3.4610 us/op 0.90
aggregationBits tree_backed -> struct 1.2140 us/op 1.3640 us/op 0.89
aggregationBits struct -> binary 797.00 ns/op 927.00 ns/op 0.86
aggregationBits tree_backed -> binary 1.0440 us/op 1.2220 us/op 0.85
List(uint8) 100000 binary -> struct 1.5684 ms/op 1.7589 ms/op 0.89
List(uint8) 100000 binary -> tree_backed 269.13 us/op 327.78 us/op 0.82
List(uint8) 100000 struct -> tree_backed 1.3782 ms/op 1.5219 ms/op 0.91
List(uint8) 100000 tree_backed -> struct 1.0991 ms/op 1.1890 ms/op 0.92
List(uint8) 100000 struct -> binary 1.1012 ms/op 1.1046 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 110.90 us/op 116.18 us/op 0.95
List(uint64Number) 100000 binary -> struct 1.3695 ms/op 1.7489 ms/op 0.78
List(uint64Number) 100000 binary -> tree_backed 5.1254 ms/op 4.5051 ms/op 1.14
List(uint64Number) 100000 struct -> tree_backed 6.7739 ms/op 6.5444 ms/op 1.04
List(uint64Number) 100000 tree_backed -> struct 2.4184 ms/op 2.5559 ms/op 0.95
List(uint64Number) 100000 struct -> binary 1.5517 ms/op 1.7740 ms/op 0.87
List(uint64Number) 100000 tree_backed -> binary 987.45 us/op 1.0188 ms/op 0.97
List(Uint64Bigint) 100000 binary -> struct 3.7518 ms/op 4.2970 ms/op 0.87
List(Uint64Bigint) 100000 binary -> tree_backed 4.6986 ms/op 4.8797 ms/op 0.96
List(Uint64Bigint) 100000 struct -> tree_backed 6.7575 ms/op 8.1623 ms/op 0.83
List(Uint64Bigint) 100000 tree_backed -> struct 4.9801 ms/op 5.2988 ms/op 0.94
List(Uint64Bigint) 100000 struct -> binary 2.0665 ms/op 2.0606 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 1.1599 ms/op 1.4400 ms/op 0.81
Vector(Root) 100000 binary -> struct 36.326 ms/op 36.707 ms/op 0.99
Vector(Root) 100000 binary -> tree_backed 36.724 ms/op 41.458 ms/op 0.89
Vector(Root) 100000 struct -> tree_backed 49.062 ms/op 52.218 ms/op 0.94
Vector(Root) 100000 tree_backed -> struct 49.033 ms/op 51.186 ms/op 0.96
Vector(Root) 100000 struct -> binary 2.7488 ms/op 2.7851 ms/op 0.99
Vector(Root) 100000 tree_backed -> binary 6.8110 ms/op 6.4095 ms/op 1.06
List(Validator) 100000 binary -> struct 105.60 ms/op 113.11 ms/op 0.93
List(Validator) 100000 binary -> tree_backed 326.33 ms/op 375.70 ms/op 0.87
List(Validator) 100000 struct -> tree_backed 367.94 ms/op 398.81 ms/op 0.92
List(Validator) 100000 tree_backed -> struct 208.49 ms/op 220.41 ms/op 0.95
List(Validator) 100000 struct -> binary 33.366 ms/op 29.494 ms/op 1.13
List(Validator) 100000 tree_backed -> binary 108.85 ms/op 114.34 ms/op 0.95
List(Validator-NS) 100000 binary -> struct 105.84 ms/op 116.85 ms/op 0.91
List(Validator-NS) 100000 binary -> tree_backed 161.92 ms/op 166.01 ms/op 0.98
List(Validator-NS) 100000 struct -> tree_backed 213.17 ms/op 214.46 ms/op 0.99
List(Validator-NS) 100000 tree_backed -> struct 174.85 ms/op 171.25 ms/op 1.02
List(Validator-NS) 100000 struct -> binary 32.719 ms/op 29.019 ms/op 1.13
List(Validator-NS) 100000 tree_backed -> binary 34.081 ms/op 35.573 ms/op 0.96
get epochStatuses - MutableVector 102.54 us/op 112.43 us/op 0.91
get epochStatuses - ViewDU 208.51 us/op 176.88 us/op 1.18
set epochStatuses - ListTreeView 2.2747 ms/op 2.2134 ms/op 1.03
set epochStatuses - ListTreeView - set() 461.71 us/op 463.10 us/op 1.00
set epochStatuses - ListTreeView - commit() 877.44 us/op 795.36 us/op 1.10
bitstring 516.91 ns/op 519.65 ns/op 0.99
bit mask 13.805 ns/op 13.803 ns/op 1.00
struct - increase slot to 1000000 933.05 us/op 933.46 us/op 1.00
UintNumberType - increase slot to 1000000 27.416 ms/op 27.676 ms/op 0.99
UintBigintType - increase slot to 1000000 166.89 ms/op 194.14 ms/op 0.86
UintBigint8 x 100000 tree_deserialize 6.4215 ms/op 6.2549 ms/op 1.03
UintBigint8 x 100000 tree_serialize 1.1423 ms/op 618.30 us/op 1.85
UintBigint16 x 100000 tree_deserialize 5.6892 ms/op 5.5491 ms/op 1.03
UintBigint16 x 100000 tree_serialize 1.3441 ms/op 1.4364 ms/op 0.94
UintBigint32 x 100000 tree_deserialize 5.9901 ms/op 6.9054 ms/op 0.87
UintBigint32 x 100000 tree_serialize 1.8607 ms/op 1.9445 ms/op 0.96
UintBigint64 x 100000 tree_deserialize 6.8331 ms/op 6.7174 ms/op 1.02
UintBigint64 x 100000 tree_serialize 2.5453 ms/op 2.0028 ms/op 1.27
UintBigint8 x 100000 value_deserialize 436.52 us/op 437.02 us/op 1.00
UintBigint8 x 100000 value_serialize 801.23 us/op 826.45 us/op 0.97
UintBigint16 x 100000 value_deserialize 466.30 us/op 466.47 us/op 1.00
UintBigint16 x 100000 value_serialize 842.05 us/op 881.15 us/op 0.96
UintBigint32 x 100000 value_deserialize 503.52 us/op 497.60 us/op 1.01
UintBigint32 x 100000 value_serialize 885.57 us/op 894.44 us/op 0.99
UintBigint64 x 100000 value_deserialize 561.99 us/op 568.83 us/op 0.99
UintBigint64 x 100000 value_serialize 1.0804 ms/op 1.1698 ms/op 0.92
UintBigint8 x 100000 deserialize 3.4021 ms/op 3.7401 ms/op 0.91
UintBigint8 x 100000 serialize 1.5632 ms/op 1.5632 ms/op 1.00
UintBigint16 x 100000 deserialize 3.5350 ms/op 3.8323 ms/op 0.92
UintBigint16 x 100000 serialize 1.6020 ms/op 1.5809 ms/op 1.01
UintBigint32 x 100000 deserialize 3.5482 ms/op 3.8240 ms/op 0.93
UintBigint32 x 100000 serialize 2.8471 ms/op 3.1520 ms/op 0.90
UintBigint64 x 100000 deserialize 4.2445 ms/op 4.3514 ms/op 0.98
UintBigint64 x 100000 serialize 1.6429 ms/op 1.7051 ms/op 0.96
UintBigint128 x 100000 deserialize 5.3754 ms/op 6.5214 ms/op 0.82
UintBigint128 x 100000 serialize 14.302 ms/op 15.040 ms/op 0.95
UintBigint256 x 100000 deserialize 8.5001 ms/op 8.7719 ms/op 0.97
UintBigint256 x 100000 serialize 42.529 ms/op 43.780 ms/op 0.97
Slice from Uint8Array x25000 1.3547 ms/op 1.3705 ms/op 0.99
Slice from ArrayBuffer x25000 16.830 ms/op 17.271 ms/op 0.97
Slice from ArrayBuffer x25000 + new Uint8Array 18.635 ms/op 18.737 ms/op 0.99
Copy Uint8Array 100000 iterate 2.6749 ms/op 2.6751 ms/op 1.00
Copy Uint8Array 100000 slice 124.47 us/op 119.06 us/op 1.05
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 109.58 us/op 117.54 us/op 0.93
Copy Buffer 100000 Uint8Array.prototype.slice.call 113.11 us/op 117.13 us/op 0.97
Copy Uint8Array 100000 slice + set 223.58 us/op 248.93 us/op 0.90
Copy Uint8Array 100000 subarray + set 110.67 us/op 116.06 us/op 0.95
Copy Uint8Array 100000 slice arrayBuffer 107.97 us/op 118.19 us/op 0.91
Uint64 deserialize 100000 - iterate Uint8Array 2.1303 ms/op 2.1325 ms/op 1.00
Uint64 deserialize 100000 - by Uint32A 1.9501 ms/op 2.1143 ms/op 0.92
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.9959 ms/op 2.0969 ms/op 0.95
Uint64 deserialize 100000 - by DataView.getBigUint64 5.3694 ms/op 5.3011 ms/op 1.01
Uint64 deserialize 100000 - by byte 41.681 ms/op 40.573 ms/op 1.03

by benchmarkbot/action

@matthewkeil matthewkeil merged commit 825d530 into master Jan 18, 2025
8 checks passed
@matthewkeil matthewkeil deleted the mkeil/release-persistent-ts branch January 18, 2025 12:19
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