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: release master #461

Merged
merged 1 commit into from
Jan 23, 2025
Merged

Conversation

wemeetagain
Copy link
Member

🤖 I have created a release beep boop

persistent-merkle-tree: 1.0.1

1.0.1 (2025-01-23)

Bug Fixes

  • correctly export hashers from persistent-merkle-tree (#460) (1eba2f9)
@chainsafe/ssz: 1.0.1

Dependencies

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

This PR was generated with Release Please. See documentation.

@wemeetagain wemeetagain merged commit 26d605e into master Jan 23, 2025
8 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master branch January 23, 2025 20:30
Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ea93fb3 Previous: 7e0a540 Ratio
digestTwoHashObjects 50023 times 48.588 ms/op 48.529 ms/op 1.00
digest2Bytes32 50023 times 55.194 ms/op 55.244 ms/op 1.00
digest 50023 times 54.233 ms/op 53.950 ms/op 1.01
input length 32 1.1940 us/op 1.2100 us/op 0.99
input length 64 1.3230 us/op 1.3650 us/op 0.97
input length 128 2.2850 us/op 2.3000 us/op 0.99
input length 256 3.3680 us/op 3.3870 us/op 0.99
input length 512 5.5130 us/op 5.5980 us/op 0.98
input length 1024 10.931 us/op 10.795 us/op 1.01
digest 1000000 times 884.96 ms/op 879.63 ms/op 1.01
hashObjectToByteArray 50023 times 1.2297 ms/op 1.2291 ms/op 1.00
byteArrayToHashObject 50023 times 1.5468 ms/op 1.6577 ms/op 0.93
digest64 200092 times 213.55 ms/op 216.71 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 246.58 ms/op 236.41 ms/op 1.04
digest64HashObjects 200092 times 193.47 ms/op 193.25 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 201.82 ms/op 201.39 ms/op 1.00
getGindicesAtDepth 3.6170 us/op 3.6170 us/op 1.00
iterateAtDepth 6.4460 us/op 6.6470 us/op 0.97
getGindexBits 399.00 ns/op 391.00 ns/op 1.02
gindexIterator 906.00 ns/op 861.00 ns/op 1.05
HashComputationLevel.push then loop 26.498 ms/op 26.336 ms/op 1.01
HashComputation[] push then loop 47.639 ms/op 48.431 ms/op 0.98
hash 2 Uint8Array 500000 times - hashtree 218.80 ms/op 237.63 ms/op 0.92
hashTwoObjects 500000 times - hashtree 213.35 ms/op 227.72 ms/op 0.94
executeHashComputations - hashtree 9.4945 ms/op 10.604 ms/op 0.90
hash 2 Uint8Array 500000 times - as-sha256 569.47 ms/op 558.70 ms/op 1.02
hashTwoObjects 500000 times - as-sha256 513.10 ms/op 514.00 ms/op 1.00
executeHashComputations - as-sha256 47.270 ms/op 45.849 ms/op 1.03
hash 2 Uint8Array 500000 times - noble 1.2503 s/op 1.2034 s/op 1.04
hashTwoObjects 500000 times - noble 1.7033 s/op 1.6305 s/op 1.04
executeHashComputations - noble 36.489 ms/op 36.707 ms/op 0.99
getHashComputations 2.5719 ms/op 2.7293 ms/op 0.94
executeHashComputations 10.467 ms/op 9.6419 ms/op 1.09
get root 15.653 ms/op 15.479 ms/op 1.01
getNodeH() x7812.5 avg hindex 12.256 us/op 12.320 us/op 0.99
getNodeH() x7812.5 index 0 7.5530 us/op 7.5940 us/op 0.99
getNodeH() x7812.5 index 7 7.5150 us/op 7.6170 us/op 0.99
getNodeH() x7812.5 index 7 with key array 6.4510 us/op 6.3840 us/op 1.01
new LeafNode() x7812.5 350.03 us/op 312.47 us/op 1.12
getHashComputations 250000 nodes 16.367 ms/op 14.856 ms/op 1.10
batchHash 250000 nodes 89.719 ms/op 99.120 ms/op 0.91
get root 250000 nodes 122.17 ms/op 116.32 ms/op 1.05
getHashComputations 500000 nodes 29.244 ms/op 35.989 ms/op 0.81
batchHash 500000 nodes 158.38 ms/op 154.25 ms/op 1.03
get root 500000 nodes 235.29 ms/op 233.84 ms/op 1.01
getHashComputations 1000000 nodes 69.861 ms/op 85.381 ms/op 0.82
batchHash 1000000 nodes 327.27 ms/op 310.17 ms/op 1.06
get root 1000000 nodes 466.33 ms/op 465.09 ms/op 1.00
multiproof - depth 15, 1 requested leaves 8.2110 us/op 7.9240 us/op 1.04
tree offset multiproof - depth 15, 1 requested leaves 18.593 us/op 18.309 us/op 1.02
compact multiproof - depth 15, 1 requested leaves 3.3070 us/op 2.9560 us/op 1.12
multiproof - depth 15, 2 requested leaves 12.197 us/op 11.536 us/op 1.06
tree offset multiproof - depth 15, 2 requested leaves 24.812 us/op 21.588 us/op 1.15
compact multiproof - depth 15, 2 requested leaves 3.4850 us/op 2.9620 us/op 1.18
multiproof - depth 15, 3 requested leaves 15.785 us/op 15.950 us/op 0.99
tree offset multiproof - depth 15, 3 requested leaves 26.886 us/op 27.514 us/op 0.98
compact multiproof - depth 15, 3 requested leaves 3.7350 us/op 3.6860 us/op 1.01
multiproof - depth 15, 4 requested leaves 21.037 us/op 21.535 us/op 0.98
tree offset multiproof - depth 15, 4 requested leaves 36.834 us/op 34.014 us/op 1.08
compact multiproof - depth 15, 4 requested leaves 5.6370 us/op 4.2420 us/op 1.33
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.2230 us/op 5.5840 us/op 1.11
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.9880 us/op 5.5130 us/op 1.09
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.7190 us/op 5.5250 us/op 1.04
packedRootsBytesToLeafNodes bytes 4000 offset 3 6.0120 us/op 5.6080 us/op 1.07
subtreeFillToContents depth 40 count 250000 51.276 ms/op 47.888 ms/op 1.07
setRoot - gindexBitstring 26.679 ms/op 20.908 ms/op 1.28
setRoot - gindex 24.908 ms/op 21.839 ms/op 1.14
getRoot - gindexBitstring 2.7971 ms/op 2.4933 ms/op 1.12
getRoot - gindex 3.2548 ms/op 3.1464 ms/op 1.03
getHashObject then setHashObject 22.350 ms/op 22.007 ms/op 1.02
setNodeWithFn 22.274 ms/op 19.947 ms/op 1.12
getNodeAtDepth depth 0 x100000 280.11 us/op 280.58 us/op 1.00
setNodeAtDepth depth 0 x100000 2.9414 ms/op 2.5724 ms/op 1.14
getNodesAtDepth depth 0 x100000 312.56 us/op 313.56 us/op 1.00
setNodesAtDepth depth 0 x100000 761.03 us/op 766.40 us/op 0.99
getNodeAtDepth depth 1 x100000 342.06 us/op 342.49 us/op 1.00
setNodeAtDepth depth 1 x100000 7.9789 ms/op 9.5675 ms/op 0.83
getNodesAtDepth depth 1 x100000 436.00 us/op 436.35 us/op 1.00
setNodesAtDepth depth 1 x100000 7.2199 ms/op 8.1740 ms/op 0.88
getNodeAtDepth depth 2 x100000 804.59 us/op 735.08 us/op 1.09
setNodeAtDepth depth 2 x100000 17.263 ms/op 18.162 ms/op 0.95
getNodesAtDepth depth 2 x100000 20.297 ms/op 18.383 ms/op 1.10
setNodesAtDepth depth 2 x100000 23.278 ms/op 24.264 ms/op 0.96
tree.getNodesAtDepth - gindexes 9.5213 ms/op 8.4081 ms/op 1.13
tree.getNodesAtDepth - push all nodes 2.6050 ms/op 2.3970 ms/op 1.09
tree.getNodesAtDepth - navigation 311.31 us/op 311.49 us/op 1.00
tree.setNodesAtDepth - indexes 692.73 us/op 703.73 us/op 0.98
set at depth 8 752.00 ns/op 677.00 ns/op 1.11
set at depth 16 1.1480 us/op 1.2660 us/op 0.91
set at depth 32 2.0870 us/op 2.1640 us/op 0.96
iterateNodesAtDepth 8 256 13.693 us/op 14.403 us/op 0.95
getNodesAtDepth 8 256 3.7720 us/op 3.7790 us/op 1.00
iterateNodesAtDepth 16 65536 4.9550 ms/op 4.3729 ms/op 1.13
getNodesAtDepth 16 65536 2.0363 ms/op 2.0576 ms/op 0.99
iterateNodesAtDepth 32 250000 16.961 ms/op 18.258 ms/op 0.93
getNodesAtDepth 32 250000 5.3412 ms/op 4.4631 ms/op 1.20
iterateNodesAtDepth 40 250000 17.011 ms/op 15.192 ms/op 1.12
getNodesAtDepth 40 250000 4.9247 ms/op 4.4458 ms/op 1.11
250000 validators root getter 117.30 ms/op 117.50 ms/op 1.00
250000 validators batchHash() 96.204 ms/op 82.860 ms/op 1.16
250000 validators hashComputations 18.040 ms/op 17.301 ms/op 1.04
bitlist bytes to struct (120,90) 1.2300 us/op 752.00 ns/op 1.64
bitlist bytes to tree (120,90) 3.1730 us/op 2.3620 us/op 1.34
bitlist bytes to struct (2048,2048) 1.1630 us/op 999.00 ns/op 1.16
bitlist bytes to tree (2048,2048) 4.6670 us/op 3.8200 us/op 1.22
ByteListType - deserialize 8.2667 ms/op 7.0056 ms/op 1.18
BasicListType - deserialize 18.817 ms/op 13.253 ms/op 1.42
ByteListType - serialize 9.2016 ms/op 7.5901 ms/op 1.21
BasicListType - serialize 11.171 ms/op 9.6562 ms/op 1.16
BasicListType - tree_convertToStruct 29.371 ms/op 24.609 ms/op 1.19
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.2730 ms/op 4.5739 ms/op 1.15
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3934 ms/op 4.3953 ms/op 1.00
Array.push len 300000 empty Array - number 7.7694 ms/op 6.5084 ms/op 1.19
Array.set len 300000 from new Array - number 2.2224 ms/op 1.7685 ms/op 1.26
Array.set len 300000 - number 6.7680 ms/op 5.3824 ms/op 1.26
Uint8Array.set len 300000 495.60 us/op 479.79 us/op 1.03
Uint32Array.set len 300000 568.15 us/op 545.96 us/op 1.04
Container({a: uint8, b: uint8}) getViewDU x300000 29.241 ms/op 25.344 ms/op 1.15
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.908 ms/op 10.415 ms/op 1.14
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 218.03 ms/op 200.12 ms/op 1.09
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 264.93 ms/op 245.33 ms/op 1.08
List(Container) len 300000 ViewDU.get(i) 6.6308 ms/op 6.5924 ms/op 1.01
List(Container) len 300000 ViewDU.getReadonly(i) 6.4359 ms/op 6.4590 ms/op 1.00
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 38.137 ms/op 38.366 ms/op 0.99
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.7237 ms/op 5.3177 ms/op 1.08
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.8088 ms/op 6.2115 ms/op 1.10
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.9694 ms/op 5.9959 ms/op 1.16
Array.push len 300000 empty Array - object 7.1203 ms/op 6.5023 ms/op 1.10
Array.set len 300000 from new Array - object 2.0779 ms/op 2.0024 ms/op 1.04
Array.set len 300000 - object 6.7490 ms/op 6.3993 ms/op 1.05
cachePermanentRootStruct no cache 5.4150 us/op 5.4640 us/op 0.99
cachePermanentRootStruct with cache 228.00 ns/op 204.00 ns/op 1.12
epochParticipation len 250000 rws 7813 2.4723 ms/op 2.4296 ms/op 1.02
BeaconState ViewDU hashTreeRoot() vc=200000 114.89 ms/op 112.84 ms/op 1.02
BeaconState ViewDU recursive hash - commit step vc=200000 4.9245 ms/op 4.8086 ms/op 1.02
BeaconState ViewDU validator tree creation vc=10000 41.532 ms/op 40.402 ms/op 1.03
BeaconState ViewDU batchHashTreeRoot vc=200000 104.35 ms/op 106.06 ms/op 0.98
BeaconState ViewDU hashTreeRoot - commit step vc=200000 93.896 ms/op 94.112 ms/op 1.00
BeaconState ViewDU hashTreeRoot - hash step vc=200000 17.623 ms/op 17.590 ms/op 1.00
deserialize Attestation - tree 4.2190 us/op 4.2660 us/op 0.99
deserialize Attestation - struct 2.0840 us/op 2.3270 us/op 0.90
deserialize SignedAggregateAndProof - tree 5.5580 us/op 5.8980 us/op 0.94
deserialize SignedAggregateAndProof - struct 3.4830 us/op 3.7810 us/op 0.92
deserialize SyncCommitteeMessage - tree 1.5400 us/op 1.7050 us/op 0.90
deserialize SyncCommitteeMessage - struct 1.2370 us/op 1.0590 us/op 1.17
deserialize SignedContributionAndProof - tree 3.1640 us/op 3.3600 us/op 0.94
deserialize SignedContributionAndProof - struct 2.6420 us/op 2.7690 us/op 0.95
deserialize SignedBeaconBlock - tree 326.16 us/op 330.81 us/op 0.99
deserialize SignedBeaconBlock - struct 121.60 us/op 145.17 us/op 0.84
BeaconState vc 300000 - deserialize tree 669.29 ms/op 716.48 ms/op 0.93
BeaconState vc 300000 - serialize tree 150.31 ms/op 144.22 ms/op 1.04
BeaconState.historicalRoots vc 300000 - deserialize tree 939.00 ns/op 962.00 ns/op 0.98
BeaconState.historicalRoots vc 300000 - serialize tree 737.00 ns/op 772.00 ns/op 0.95
BeaconState.validators vc 300000 - deserialize tree 643.75 ms/op 637.69 ms/op 1.01
BeaconState.validators vc 300000 - serialize tree 126.02 ms/op 121.53 ms/op 1.04
BeaconState.balances vc 300000 - deserialize tree 27.777 ms/op 29.181 ms/op 0.95
BeaconState.balances vc 300000 - serialize tree 5.0124 ms/op 5.7137 ms/op 0.88
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.3672 ms/op 1.3737 ms/op 1.00
BeaconState.previousEpochParticipation vc 300000 - serialize tree 370.31 us/op 366.55 us/op 1.01
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.2937 ms/op 1.3654 ms/op 0.95
BeaconState.currentEpochParticipation vc 300000 - serialize tree 359.46 us/op 354.21 us/op 1.01
BeaconState.inactivityScores vc 300000 - deserialize tree 29.130 ms/op 30.221 ms/op 0.96
BeaconState.inactivityScores vc 300000 - serialize tree 4.5995 ms/op 5.5013 ms/op 0.84
hashTreeRoot Attestation - struct 16.593 us/op 18.830 us/op 0.88
hashTreeRoot Attestation - tree 9.1400 us/op 9.3690 us/op 0.98
hashTreeRoot SignedAggregateAndProof - struct 23.343 us/op 25.954 us/op 0.90
hashTreeRoot SignedAggregateAndProof - tree 13.764 us/op 13.990 us/op 0.98
hashTreeRoot SyncCommitteeMessage - struct 5.2360 us/op 6.8870 us/op 0.76
hashTreeRoot SyncCommitteeMessage - tree 3.4020 us/op 4.0600 us/op 0.84
hashTreeRoot SignedContributionAndProof - struct 14.750 us/op 17.851 us/op 0.83
hashTreeRoot SignedContributionAndProof - tree 9.4160 us/op 9.6760 us/op 0.97
hashTreeRoot SignedBeaconBlock - struct 1.4269 ms/op 1.3046 ms/op 1.09
hashTreeRoot SignedBeaconBlock - tree 823.99 us/op 805.87 us/op 1.02
hashTreeRoot Validator - struct 8.6570 us/op 7.8850 us/op 1.10
hashTreeRoot Validator - tree 7.3890 us/op 7.3400 us/op 1.01
BeaconState vc 300000 - hashTreeRoot tree 2.3130 s/op 2.2344 s/op 1.04
BeaconState vc 300000 - batchHashTreeRoot tree 4.2732 s/op 4.3588 s/op 0.98
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0310 us/op 1.1730 us/op 0.88
BeaconState.validators vc 300000 - hashTreeRoot tree 2.5867 s/op 2.5275 s/op 1.02
BeaconState.balances vc 300000 - hashTreeRoot tree 39.345 ms/op 57.792 ms/op 0.68
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.5650 ms/op 4.2820 ms/op 1.07
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.4015 ms/op 4.2738 ms/op 1.03
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 35.167 ms/op 34.589 ms/op 1.02
hash64 x18 9.1640 us/op 9.0910 us/op 1.01
hashTwoObjects x18 8.3740 us/op 8.4740 us/op 0.99
hash64 x1740 826.86 us/op 862.84 us/op 0.96
hashTwoObjects x1740 766.32 us/op 771.67 us/op 0.99
hash64 x2700000 1.3147 s/op 1.3219 s/op 0.99
hashTwoObjects x2700000 1.2078 s/op 1.2111 s/op 1.00
get_exitEpoch - ContainerType 286.00 ns/op 307.00 ns/op 0.93
get_exitEpoch - ContainerNodeStructType 291.00 ns/op 303.00 ns/op 0.96
set_exitEpoch - ContainerType 300.00 ns/op 334.00 ns/op 0.90
set_exitEpoch - ContainerNodeStructType 313.00 ns/op 306.00 ns/op 1.02
get_pubkey - ContainerType 1.2250 us/op 1.1630 us/op 1.05
get_pubkey - ContainerNodeStructType 281.00 ns/op 318.00 ns/op 0.88
hashTreeRoot - ContainerType 491.00 ns/op 496.00 ns/op 0.99
hashTreeRoot - ContainerNodeStructType 394.00 ns/op 486.00 ns/op 0.81
createProof - ContainerType 4.3470 us/op 4.8110 us/op 0.90
createProof - ContainerNodeStructType 24.099 us/op 24.116 us/op 1.00
serialize - ContainerType 1.8250 us/op 1.8040 us/op 1.01
serialize - ContainerNodeStructType 1.6120 us/op 1.7010 us/op 0.95
set_exitEpoch_and_hashTreeRoot - ContainerType 2.9340 us/op 3.0200 us/op 0.97
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 8.2350 us/op 8.4400 us/op 0.98
Array - for of 6.0110 us/op 8.7150 us/op 0.69
Array - for(;;) 5.8710 us/op 8.6460 us/op 0.68
basicListValue.readonlyValuesArray() 5.6262 ms/op 6.5046 ms/op 0.86
basicListValue.readonlyValuesArray() + loop all 5.3659 ms/op 6.6971 ms/op 0.80
compositeListValue.readonlyValuesArray() 33.284 ms/op 36.009 ms/op 0.92
compositeListValue.readonlyValuesArray() + loop all 33.564 ms/op 32.279 ms/op 1.04
Number64UintType - get balances list 5.0850 ms/op 4.8869 ms/op 1.04
Number64UintType - set balances list 10.302 ms/op 10.557 ms/op 0.98
Number64UintType - get and increase 10 then set 43.415 ms/op 43.533 ms/op 1.00
Number64UintType - increase 10 using applyDelta 17.277 ms/op 19.685 ms/op 0.88
Number64UintType - increase 10 using applyDeltaInBatch 17.587 ms/op 18.793 ms/op 0.94
tree_newTreeFromUint64Deltas 23.231 ms/op 21.997 ms/op 1.06
unsafeUint8ArrayToTree 42.799 ms/op 41.797 ms/op 1.02
bitLength(50) 281.00 ns/op 269.00 ns/op 1.04
bitLengthStr(50) 251.00 ns/op 247.00 ns/op 1.02
bitLength(8000) 254.00 ns/op 277.00 ns/op 0.92
bitLengthStr(8000) 267.00 ns/op 302.00 ns/op 0.88
bitLength(250000) 233.00 ns/op 298.00 ns/op 0.78
bitLengthStr(250000) 295.00 ns/op 357.00 ns/op 0.83
floor - Math.floor (53) 1.2426 ns/op 1.3072 ns/op 0.95
floor - << 0 (53) 1.2438 ns/op 1.2616 ns/op 0.99
floor - Math.floor (512) 1.2431 ns/op 1.2439 ns/op 1.00
floor - << 0 (512) 1.2427 ns/op 1.2461 ns/op 1.00
fnIf(0) 1.5532 ns/op 1.5584 ns/op 1.00
fnSwitch(0) 2.1794 ns/op 2.1778 ns/op 1.00
fnObj(0) 1.5635 ns/op 1.5581 ns/op 1.00
fnArr(0) 1.5755 ns/op 1.5664 ns/op 1.01
fnIf(4) 2.1775 ns/op 2.1799 ns/op 1.00
fnSwitch(4) 2.1814 ns/op 2.1785 ns/op 1.00
fnObj(4) 1.5619 ns/op 1.5749 ns/op 0.99
fnArr(4) 1.5537 ns/op 1.5554 ns/op 1.00
fnIf(9) 3.1086 ns/op 3.1109 ns/op 1.00
fnSwitch(9) 2.1845 ns/op 2.1776 ns/op 1.00
fnObj(9) 1.5620 ns/op 1.5584 ns/op 1.00
fnArr(9) 1.5542 ns/op 1.5553 ns/op 1.00
Container {a,b,vec} - as struct x100000 125.03 us/op 124.71 us/op 1.00
Container {a,b,vec} - as tree x100000 559.28 us/op 560.04 us/op 1.00
Container {a,vec,b} - as struct x100000 155.62 us/op 156.41 us/op 0.99
Container {a,vec,b} - as tree x100000 561.55 us/op 560.17 us/op 1.00
get 2 props x1000000 - rawObject 313.05 us/op 312.05 us/op 1.00
get 2 props x1000000 - proxy 73.085 ms/op 73.097 ms/op 1.00
get 2 props x1000000 - customObj 311.02 us/op 311.04 us/op 1.00
Simple object binary -> struct 1.0080 us/op 645.00 ns/op 1.56
Simple object binary -> tree_backed 2.6600 us/op 1.8820 us/op 1.41
Simple object struct -> tree_backed 2.9890 us/op 2.5670 us/op 1.16
Simple object tree_backed -> struct 2.6780 us/op 1.8350 us/op 1.46
Simple object struct -> binary 1.6290 us/op 939.00 ns/op 1.73
Simple object tree_backed -> binary 2.0430 us/op 1.5640 us/op 1.31
aggregationBits binary -> struct 1.0250 us/op 585.00 ns/op 1.75
aggregationBits binary -> tree_backed 3.4520 us/op 2.4070 us/op 1.43
aggregationBits struct -> tree_backed 3.2400 us/op 2.9940 us/op 1.08
aggregationBits tree_backed -> struct 1.1380 us/op 1.1640 us/op 0.98
aggregationBits struct -> binary 667.00 ns/op 717.00 ns/op 0.93
aggregationBits tree_backed -> binary 970.00 ns/op 1.0550 us/op 0.92
List(uint8) 100000 binary -> struct 2.0102 ms/op 1.8198 ms/op 1.10
List(uint8) 100000 binary -> tree_backed 298.42 us/op 346.86 us/op 0.86
List(uint8) 100000 struct -> tree_backed 1.4779 ms/op 1.5056 ms/op 0.98
List(uint8) 100000 tree_backed -> struct 1.2278 ms/op 1.1729 ms/op 1.05
List(uint8) 100000 struct -> binary 1.1291 ms/op 1.1012 ms/op 1.03
List(uint8) 100000 tree_backed -> binary 113.38 us/op 114.14 us/op 0.99
List(uint64Number) 100000 binary -> struct 1.3354 ms/op 1.4289 ms/op 0.93
List(uint64Number) 100000 binary -> tree_backed 4.6818 ms/op 4.8624 ms/op 0.96
List(uint64Number) 100000 struct -> tree_backed 6.7226 ms/op 6.8250 ms/op 0.98
List(uint64Number) 100000 tree_backed -> struct 2.7910 ms/op 2.5345 ms/op 1.10
List(uint64Number) 100000 struct -> binary 1.6150 ms/op 1.5664 ms/op 1.03
List(uint64Number) 100000 tree_backed -> binary 1.2573 ms/op 1.0826 ms/op 1.16
List(Uint64Bigint) 100000 binary -> struct 4.3770 ms/op 4.2511 ms/op 1.03
List(Uint64Bigint) 100000 binary -> tree_backed 5.2557 ms/op 4.6920 ms/op 1.12
List(Uint64Bigint) 100000 struct -> tree_backed 7.2422 ms/op 7.3350 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> struct 6.4624 ms/op 5.0881 ms/op 1.27
List(Uint64Bigint) 100000 struct -> binary 2.0801 ms/op 2.0967 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> binary 1.2327 ms/op 1.0807 ms/op 1.14
Vector(Root) 100000 binary -> struct 40.678 ms/op 36.393 ms/op 1.12
Vector(Root) 100000 binary -> tree_backed 40.399 ms/op 34.999 ms/op 1.15
Vector(Root) 100000 struct -> tree_backed 55.581 ms/op 52.177 ms/op 1.07
Vector(Root) 100000 tree_backed -> struct 56.140 ms/op 53.658 ms/op 1.05
Vector(Root) 100000 struct -> binary 3.0103 ms/op 2.8704 ms/op 1.05
Vector(Root) 100000 tree_backed -> binary 9.0838 ms/op 7.4937 ms/op 1.21
List(Validator) 100000 binary -> struct 109.31 ms/op 99.657 ms/op 1.10
List(Validator) 100000 binary -> tree_backed 396.59 ms/op 363.03 ms/op 1.09
List(Validator) 100000 struct -> tree_backed 413.03 ms/op 389.34 ms/op 1.06
List(Validator) 100000 tree_backed -> struct 233.50 ms/op 221.44 ms/op 1.05
List(Validator) 100000 struct -> binary 29.528 ms/op 29.061 ms/op 1.02
List(Validator) 100000 tree_backed -> binary 115.23 ms/op 108.09 ms/op 1.07
List(Validator-NS) 100000 binary -> struct 119.47 ms/op 109.17 ms/op 1.09
List(Validator-NS) 100000 binary -> tree_backed 160.85 ms/op 168.32 ms/op 0.96
List(Validator-NS) 100000 struct -> tree_backed 217.30 ms/op 211.67 ms/op 1.03
List(Validator-NS) 100000 tree_backed -> struct 173.25 ms/op 172.15 ms/op 1.01
List(Validator-NS) 100000 struct -> binary 29.604 ms/op 28.920 ms/op 1.02
List(Validator-NS) 100000 tree_backed -> binary 36.144 ms/op 35.820 ms/op 1.01
get epochStatuses - MutableVector 103.92 us/op 91.386 us/op 1.14
get epochStatuses - ViewDU 208.88 us/op 209.16 us/op 1.00
set epochStatuses - ListTreeView 2.0532 ms/op 2.0436 ms/op 1.00
set epochStatuses - ListTreeView - set() 448.15 us/op 474.87 us/op 0.94
set epochStatuses - ListTreeView - commit() 748.53 us/op 778.49 us/op 0.96
bitstring 514.82 ns/op 513.54 ns/op 1.00
bit mask 13.291 ns/op 13.979 ns/op 0.95
struct - increase slot to 1000000 933.02 us/op 933.28 us/op 1.00
UintNumberType - increase slot to 1000000 28.372 ms/op 28.433 ms/op 1.00
UintBigintType - increase slot to 1000000 184.05 ms/op 177.59 ms/op 1.04
UintBigint8 x 100000 tree_deserialize 5.2303 ms/op 6.6145 ms/op 0.79
UintBigint8 x 100000 tree_serialize 1.1556 ms/op 2.4970 ms/op 0.46
UintBigint16 x 100000 tree_deserialize 5.4901 ms/op 5.2777 ms/op 1.04
UintBigint16 x 100000 tree_serialize 1.3874 ms/op 1.3691 ms/op 1.01
UintBigint32 x 100000 tree_deserialize 6.4505 ms/op 5.5605 ms/op 1.16
UintBigint32 x 100000 tree_serialize 2.2099 ms/op 1.8561 ms/op 1.19
UintBigint64 x 100000 tree_deserialize 6.9477 ms/op 5.9421 ms/op 1.17
UintBigint64 x 100000 tree_serialize 2.9602 ms/op 2.5064 ms/op 1.18
UintBigint8 x 100000 value_deserialize 435.47 us/op 435.46 us/op 1.00
UintBigint8 x 100000 value_serialize 824.31 us/op 771.90 us/op 1.07
UintBigint16 x 100000 value_deserialize 471.68 us/op 466.36 us/op 1.01
UintBigint16 x 100000 value_serialize 825.75 us/op 819.45 us/op 1.01
UintBigint32 x 100000 value_deserialize 498.49 us/op 503.14 us/op 0.99
UintBigint32 x 100000 value_serialize 850.16 us/op 870.67 us/op 0.98
UintBigint64 x 100000 value_deserialize 569.76 us/op 562.37 us/op 1.01
UintBigint64 x 100000 value_serialize 1.0290 ms/op 1.0653 ms/op 0.97
UintBigint8 x 100000 deserialize 3.3684 ms/op 3.2188 ms/op 1.05
UintBigint8 x 100000 serialize 1.5762 ms/op 1.5257 ms/op 1.03
UintBigint16 x 100000 deserialize 3.5925 ms/op 3.4603 ms/op 1.04
UintBigint16 x 100000 serialize 1.5112 ms/op 1.6164 ms/op 0.93
UintBigint32 x 100000 deserialize 3.3616 ms/op 3.2715 ms/op 1.03
UintBigint32 x 100000 serialize 3.0125 ms/op 2.8403 ms/op 1.06
UintBigint64 x 100000 deserialize 4.3537 ms/op 4.2585 ms/op 1.02
UintBigint64 x 100000 serialize 1.6571 ms/op 1.6745 ms/op 0.99
UintBigint128 x 100000 deserialize 5.9005 ms/op 5.5619 ms/op 1.06
UintBigint128 x 100000 serialize 15.722 ms/op 14.553 ms/op 1.08
UintBigint256 x 100000 deserialize 9.9390 ms/op 9.1865 ms/op 1.08
UintBigint256 x 100000 serialize 43.776 ms/op 41.402 ms/op 1.06
Slice from Uint8Array x25000 1.5371 ms/op 1.2909 ms/op 1.19
Slice from ArrayBuffer x25000 16.787 ms/op 15.965 ms/op 1.05
Slice from ArrayBuffer x25000 + new Uint8Array 18.721 ms/op 17.121 ms/op 1.09
Copy Uint8Array 100000 iterate 2.7425 ms/op 2.6487 ms/op 1.04
Copy Uint8Array 100000 slice 110.18 us/op 95.470 us/op 1.15
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 112.71 us/op 111.50 us/op 1.01
Copy Buffer 100000 Uint8Array.prototype.slice.call 115.29 us/op 114.75 us/op 1.00
Copy Uint8Array 100000 slice + set 231.38 us/op 234.78 us/op 0.99
Copy Uint8Array 100000 subarray + set 114.11 us/op 114.76 us/op 0.99
Copy Uint8Array 100000 slice arrayBuffer 116.01 us/op 112.47 us/op 1.03
Uint64 deserialize 100000 - iterate Uint8Array 1.9738 ms/op 2.1252 ms/op 0.93
Uint64 deserialize 100000 - by Uint32A 2.0008 ms/op 1.9165 ms/op 1.04
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.2342 ms/op 1.9553 ms/op 1.14
Uint64 deserialize 100000 - by DataView.getBigUint64 5.2438 ms/op 5.0147 ms/op 1.05
Uint64 deserialize 100000 - by byte 40.800 ms/op 40.801 ms/op 1.00

by benchmarkbot/action

@wemeetagain
Copy link
Member Author

@wemeetagain
Copy link
Member Author

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.

2 participants