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: relax other instances of intersectValues #344

Merged
merged 1 commit into from
Feb 10, 2024

Conversation

wemeetagain
Copy link
Member

Motivation

Description

  • Relaxes other instances of intersectValues

@wemeetagain wemeetagain requested a review from a team as a code owner February 10, 2024 19:51
@github-actions github-actions bot added the ssz label Feb 10, 2024
@wemeetagain wemeetagain merged commit e000351 into master Feb 10, 2024
8 checks passed
@wemeetagain wemeetagain deleted the cayman/more-intersect-values branch February 10, 2024 20:01
Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 1e3abe6 Previous: b618564 Ratio
digestTwoHashObjects 50023 times 48.292 ms/op 47.612 ms/op 1.01
digest64 50023 times 49.422 ms/op 49.282 ms/op 1.00
digest 50023 times 50.062 ms/op 49.263 ms/op 1.02
input length 32 1.1750 us/op 1.1760 us/op 1.00
input length 64 1.2770 us/op 1.2870 us/op 0.99
input length 128 2.2280 us/op 2.2310 us/op 1.00
input length 256 3.3250 us/op 3.3110 us/op 1.00
input length 512 5.5010 us/op 5.4000 us/op 1.02
input length 1024 10.891 us/op 10.857 us/op 1.00
digest 1000000 times 800.02 ms/op 812.74 ms/op 0.98
hashObjectToByteArray 50023 times 1.4448 ms/op 1.4655 ms/op 0.99
byteArrayToHashObject 50023 times 1.6906 ms/op 1.7148 ms/op 0.99
getGindicesAtDepth 4.0130 us/op 4.0300 us/op 1.00
iterateAtDepth 9.1820 us/op 8.4090 us/op 1.09
getGindexBits 445.00 ns/op 401.00 ns/op 1.11
gindexIterator 953.00 ns/op 953.00 ns/op 1.00
hash 2 Uint8Array 2250026 times - as-sha256 2.2487 s/op 2.2245 s/op 1.01
hashTwoObjects 2250026 times - as-sha256 2.1488 s/op 2.1509 s/op 1.00
hash 2 Uint8Array 2250026 times - noble 4.7801 s/op 5.0134 s/op 0.95
hashTwoObjects 2250026 times - noble 6.8014 s/op 6.8784 s/op 0.99
getNodeH() x7812.5 avg hindex 14.575 us/op 14.587 us/op 1.00
getNodeH() x7812.5 index 0 5.1460 us/op 5.1850 us/op 0.99
getNodeH() x7812.5 index 7 5.0860 us/op 5.1260 us/op 0.99
getNodeH() x7812.5 index 7 with key array 5.2050 us/op 5.0680 us/op 1.03
new LeafNode() x7812.5 114.13 us/op 111.93 us/op 1.02
multiproof - depth 15, 1 requested leaves 9.6250 us/op 9.5620 us/op 1.01
tree offset multiproof - depth 15, 1 requested leaves 20.629 us/op 20.888 us/op 0.99
compact multiproof - depth 15, 1 requested leaves 5.8170 us/op 5.6780 us/op 1.02
multiproof - depth 15, 2 requested leaves 13.624 us/op 13.561 us/op 1.00
tree offset multiproof - depth 15, 2 requested leaves 24.505 us/op 23.484 us/op 1.04
compact multiproof - depth 15, 2 requested leaves 3.4600 us/op 3.4380 us/op 1.01
multiproof - depth 15, 3 requested leaves 19.221 us/op 18.357 us/op 1.05
tree offset multiproof - depth 15, 3 requested leaves 31.617 us/op 31.318 us/op 1.01
compact multiproof - depth 15, 3 requested leaves 4.9180 us/op 4.7350 us/op 1.04
multiproof - depth 15, 4 requested leaves 25.077 us/op 24.379 us/op 1.03
tree offset multiproof - depth 15, 4 requested leaves 38.650 us/op 38.245 us/op 1.01
compact multiproof - depth 15, 4 requested leaves 6.0180 us/op 5.5090 us/op 1.09
packedRootsBytesToLeafNodes bytes 4000 offset 0 2.0550 us/op 2.0230 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 1 2.0370 us/op 2.0190 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 2 2.0120 us/op 1.9870 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 3 2.0400 us/op 1.9790 us/op 1.03
subtreeFillToContents depth 40 count 250000 44.860 ms/op 44.877 ms/op 1.00
setRoot - gindexBitstring 8.7236 ms/op 9.2769 ms/op 0.94
setRoot - gindex 9.7476 ms/op 9.9059 ms/op 0.98
getRoot - gindexBitstring 2.4913 ms/op 2.5968 ms/op 0.96
getRoot - gindex 3.3935 ms/op 3.2107 ms/op 1.06
getHashObject then setHashObject 10.444 ms/op 10.713 ms/op 0.97
setNodeWithFn 9.1767 ms/op 9.5235 ms/op 0.96
getNodeAtDepth depth 0 x100000 1.1465 ms/op 1.1458 ms/op 1.00
setNodeAtDepth depth 0 x100000 2.7987 ms/op 2.7021 ms/op 1.04
getNodesAtDepth depth 0 x100000 1.0846 ms/op 1.0855 ms/op 1.00
setNodesAtDepth depth 0 x100000 1.4852 ms/op 1.4856 ms/op 1.00
getNodeAtDepth depth 1 x100000 1.2062 ms/op 1.2485 ms/op 0.97
setNodeAtDepth depth 1 x100000 5.8268 ms/op 5.9347 ms/op 0.98
getNodesAtDepth depth 1 x100000 1.2091 ms/op 1.2110 ms/op 1.00
setNodesAtDepth depth 1 x100000 4.8528 ms/op 4.8568 ms/op 1.00
getNodeAtDepth depth 2 x100000 1.4829 ms/op 1.5000 ms/op 0.99
setNodeAtDepth depth 2 x100000 9.9887 ms/op 12.132 ms/op 0.82
getNodesAtDepth depth 2 x100000 20.551 ms/op 20.331 ms/op 1.01
setNodesAtDepth depth 2 x100000 13.829 ms/op 15.797 ms/op 0.88
tree.getNodesAtDepth - gindexes 6.7565 ms/op 6.2406 ms/op 1.08
tree.getNodesAtDepth - push all nodes 2.1947 ms/op 2.2091 ms/op 0.99
tree.getNodesAtDepth - navigation 157.49 us/op 160.65 us/op 0.98
tree.setNodesAtDepth - indexes 385.04 us/op 387.00 us/op 0.99
set at depth 8 524.00 ns/op 521.00 ns/op 1.01
set at depth 16 666.00 ns/op 677.00 ns/op 0.98
set at depth 32 1.0610 us/op 1.0710 us/op 0.99
iterateNodesAtDepth 8 256 14.091 us/op 14.195 us/op 0.99
getNodesAtDepth 8 256 3.5040 us/op 3.4560 us/op 1.01
iterateNodesAtDepth 16 65536 4.5954 ms/op 4.6221 ms/op 0.99
getNodesAtDepth 16 65536 2.0112 ms/op 2.1251 ms/op 0.95
iterateNodesAtDepth 32 250000 17.042 ms/op 17.599 ms/op 0.97
getNodesAtDepth 32 250000 4.6959 ms/op 4.2390 ms/op 1.11
iterateNodesAtDepth 40 250000 16.302 ms/op 15.361 ms/op 1.06
getNodesAtDepth 40 250000 4.3517 ms/op 4.2633 ms/op 1.02
250k validators 7.0353 s/op 7.1164 s/op 0.99
bitlist bytes to struct (120,90) 571.00 ns/op 569.00 ns/op 1.00
bitlist bytes to tree (120,90) 2.2120 us/op 2.2990 us/op 0.96
bitlist bytes to struct (2048,2048) 970.00 ns/op 1.0250 us/op 0.95
bitlist bytes to tree (2048,2048) 3.5970 us/op 3.6480 us/op 0.99
ByteListType - deserialize 9.7183 ms/op 7.8290 ms/op 1.24
BasicListType - deserialize 7.8227 ms/op 7.7469 ms/op 1.01
ByteListType - serialize 8.8021 ms/op 8.1315 ms/op 1.08
BasicListType - serialize 10.653 ms/op 10.716 ms/op 0.99
BasicListType - tree_convertToStruct 21.423 ms/op 21.691 ms/op 0.99
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.2115 ms/op 4.2758 ms/op 0.98
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.1394 ms/op 4.1334 ms/op 1.00
Array.push len 300000 empty Array - number 5.9143 ms/op 5.6930 ms/op 1.04
Array.set len 300000 from new Array - number 1.7295 ms/op 1.8125 ms/op 0.95
Array.set len 300000 - number 5.8029 ms/op 5.2855 ms/op 1.10
Uint8Array.set len 300000 212.59 us/op 213.24 us/op 1.00
Uint32Array.set len 300000 294.31 us/op 296.46 us/op 0.99
Container({a: uint8, b: uint8}) getViewDU x300000 20.636 ms/op 20.171 ms/op 1.02
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 9.4900 ms/op 9.4035 ms/op 1.01
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 241.74 ms/op 238.02 ms/op 1.02
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 284.29 ms/op 283.76 ms/op 1.00
List(Container) len 300000 ViewDU.get(i) 6.6949 ms/op 6.5989 ms/op 1.01
List(Container) len 300000 ViewDU.getReadonly(i) 6.7481 ms/op 6.3506 ms/op 1.06
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 38.918 ms/op 37.577 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.6545 ms/op 5.0698 ms/op 1.12
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.3485 ms/op 6.0586 ms/op 1.05
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.3032 ms/op 5.9688 ms/op 1.06
Array.push len 300000 empty Array - object 5.8739 ms/op 5.7707 ms/op 1.02
Array.set len 300000 from new Array - object 1.8778 ms/op 1.9207 ms/op 0.98
Array.set len 300000 - object 5.4817 ms/op 5.5494 ms/op 0.99
cachePermanentRootStruct no cache 9.1810 us/op 8.9030 us/op 1.03
cachePermanentRootStruct with cache 225.00 ns/op 222.00 ns/op 1.01
epochParticipation len 250000 rws 7813 2.3355 ms/op 2.2905 ms/op 1.02
deserialize Attestation - tree 2.9090 us/op 2.8880 us/op 1.01
deserialize Attestation - struct 1.9870 us/op 1.9580 us/op 1.01
deserialize SignedAggregateAndProof - tree 3.6580 us/op 3.6400 us/op 1.00
deserialize SignedAggregateAndProof - struct 3.0110 us/op 3.1500 us/op 0.96
deserialize SyncCommitteeMessage - tree 1.1340 us/op 1.1010 us/op 1.03
deserialize SyncCommitteeMessage - struct 1.2180 us/op 1.2830 us/op 0.95
deserialize SignedContributionAndProof - tree 1.9180 us/op 2.0040 us/op 0.96
deserialize SignedContributionAndProof - struct 2.4260 us/op 2.6760 us/op 0.91
deserialize SignedBeaconBlock - tree 213.05 us/op 215.59 us/op 0.99
deserialize SignedBeaconBlock - struct 129.65 us/op 134.89 us/op 0.96
BeaconState vc 300000 - deserialize tree 631.49 ms/op 663.14 ms/op 0.95
BeaconState vc 300000 - serialize tree 113.05 ms/op 134.01 ms/op 0.84
BeaconState.historicalRoots vc 300000 - deserialize tree 884.00 ns/op 812.00 ns/op 1.09
BeaconState.historicalRoots vc 300000 - serialize tree 915.00 ns/op 804.00 ns/op 1.14
BeaconState.validators vc 300000 - deserialize tree 590.11 ms/op 644.93 ms/op 0.92
BeaconState.validators vc 300000 - serialize tree 140.24 ms/op 144.52 ms/op 0.97
BeaconState.balances vc 300000 - deserialize tree 24.294 ms/op 23.727 ms/op 1.02
BeaconState.balances vc 300000 - serialize tree 3.3510 ms/op 3.9601 ms/op 0.85
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 435.52 us/op 454.42 us/op 0.96
BeaconState.previousEpochParticipation vc 300000 - serialize tree 265.36 us/op 272.12 us/op 0.98
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 413.05 us/op 475.35 us/op 0.87
BeaconState.currentEpochParticipation vc 300000 - serialize tree 263.23 us/op 266.87 us/op 0.99
BeaconState.inactivityScores vc 300000 - deserialize tree 25.279 ms/op 24.210 ms/op 1.04
BeaconState.inactivityScores vc 300000 - serialize tree 3.8565 ms/op 3.5828 ms/op 1.08
hashTreeRoot Attestation - struct 30.469 us/op 31.780 us/op 0.96
hashTreeRoot Attestation - tree 18.420 us/op 20.969 us/op 0.88
hashTreeRoot SignedAggregateAndProof - struct 41.163 us/op 42.488 us/op 0.97
hashTreeRoot SignedAggregateAndProof - tree 28.686 us/op 28.493 us/op 1.01
hashTreeRoot SyncCommitteeMessage - struct 9.8420 us/op 10.163 us/op 0.97
hashTreeRoot SyncCommitteeMessage - tree 6.3130 us/op 6.2080 us/op 1.02
hashTreeRoot SignedContributionAndProof - struct 27.944 us/op 28.920 us/op 0.97
hashTreeRoot SignedContributionAndProof - tree 20.484 us/op 20.387 us/op 1.00
hashTreeRoot SignedBeaconBlock - struct 2.4917 ms/op 2.3990 ms/op 1.04
hashTreeRoot SignedBeaconBlock - tree 1.6857 ms/op 1.6681 ms/op 1.01
hashTreeRoot Validator - struct 13.632 us/op 13.158 us/op 1.04
hashTreeRoot Validator - tree 11.917 us/op 10.744 us/op 1.11
BeaconState vc 300000 - hashTreeRoot tree 3.7114 s/op 3.6275 s/op 1.02
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.5680 us/op 1.4070 us/op 1.11
BeaconState.validators vc 300000 - hashTreeRoot tree 3.5044 s/op 3.4803 s/op 1.01
BeaconState.balances vc 300000 - hashTreeRoot tree 89.051 ms/op 88.816 ms/op 1.00
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 8.9669 ms/op 9.0264 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 8.9780 ms/op 9.0248 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 81.754 ms/op 82.415 ms/op 0.99
hash64 x18 19.324 us/op 19.206 us/op 1.01
hashTwoObjects x18 18.312 us/op 17.883 us/op 1.02
hash64 x1740 1.8622 ms/op 1.8136 ms/op 1.03
hashTwoObjects x1740 1.7001 ms/op 1.6992 ms/op 1.00
hash64 x2700000 2.8717 s/op 2.8458 s/op 1.01
hashTwoObjects x2700000 2.6523 s/op 2.6437 s/op 1.00
get_exitEpoch - ContainerType 228.00 ns/op 223.00 ns/op 1.02
get_exitEpoch - ContainerNodeStructType 222.00 ns/op 211.00 ns/op 1.05
set_exitEpoch - ContainerType 243.00 ns/op 249.00 ns/op 0.98
set_exitEpoch - ContainerNodeStructType 223.00 ns/op 213.00 ns/op 1.05
get_pubkey - ContainerType 1.1190 us/op 1.0310 us/op 1.09
get_pubkey - ContainerNodeStructType 237.00 ns/op 220.00 ns/op 1.08
hashTreeRoot - ContainerType 440.00 ns/op 386.00 ns/op 1.14
hashTreeRoot - ContainerNodeStructType 461.00 ns/op 451.00 ns/op 1.02
createProof - ContainerType 4.2870 us/op 4.0780 us/op 1.05
createProof - ContainerNodeStructType 23.781 us/op 22.545 us/op 1.05
serialize - ContainerType 2.0960 us/op 1.9390 us/op 1.08
serialize - ContainerNodeStructType 1.6360 us/op 1.5660 us/op 1.04
set_exitEpoch_and_hashTreeRoot - ContainerType 4.2300 us/op 4.0870 us/op 1.03
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 12.043 us/op 11.297 us/op 1.07
Array - for of 5.0410 us/op 5.4450 us/op 0.93
Array - for(;;) 4.2210 us/op 4.6620 us/op 0.91
basicListValue.readonlyValuesArray() 3.8760 ms/op 3.9753 ms/op 0.98
basicListValue.readonlyValuesArray() + loop all 3.9654 ms/op 3.9408 ms/op 1.01
compositeListValue.readonlyValuesArray() 29.444 ms/op 29.072 ms/op 1.01
compositeListValue.readonlyValuesArray() + loop all 26.099 ms/op 25.935 ms/op 1.01
Number64UintType - get balances list 4.2248 ms/op 4.1898 ms/op 1.01
Number64UintType - set balances list 9.4758 ms/op 9.8827 ms/op 0.96
Number64UintType - get and increase 10 then set 39.588 ms/op 40.714 ms/op 0.97
Number64UintType - increase 10 using applyDelta 16.023 ms/op 16.969 ms/op 0.94
Number64UintType - increase 10 using applyDeltaInBatch 16.049 ms/op 16.598 ms/op 0.97
tree_newTreeFromUint64Deltas 18.183 ms/op 17.681 ms/op 1.03
unsafeUint8ArrayToTree 32.271 ms/op 30.339 ms/op 1.06
bitLength(50) 240.00 ns/op 225.00 ns/op 1.07
bitLengthStr(50) 248.00 ns/op 231.00 ns/op 1.07
bitLength(8000) 231.00 ns/op 218.00 ns/op 1.06
bitLengthStr(8000) 291.00 ns/op 281.00 ns/op 1.04
bitLength(250000) 230.00 ns/op 221.00 ns/op 1.04
bitLengthStr(250000) 357.00 ns/op 312.00 ns/op 1.14
floor - Math.floor (53) 0.46569 ns/op 0.46511 ns/op 1.00
floor - << 0 (53) 0.46483 ns/op 0.46556 ns/op 1.00
floor - Math.floor (512) 0.46489 ns/op 0.47048 ns/op 0.99
floor - << 0 (512) 0.47096 ns/op 0.46387 ns/op 1.02
fnIf(0) 1.5465 ns/op 1.5593 ns/op 0.99
fnSwitch(0) 2.4760 ns/op 2.5068 ns/op 0.99
fnObj(0) 0.46448 ns/op 0.46380 ns/op 1.00
fnArr(0) 0.46882 ns/op 0.47008 ns/op 1.00
fnIf(4) 2.1651 ns/op 2.1674 ns/op 1.00
fnSwitch(4) 2.4737 ns/op 2.4744 ns/op 1.00
fnObj(4) 0.46532 ns/op 0.46634 ns/op 1.00
fnArr(4) 0.46610 ns/op 0.46501 ns/op 1.00
fnIf(9) 3.0968 ns/op 3.1528 ns/op 0.98
fnSwitch(9) 2.4758 ns/op 2.5086 ns/op 0.99
fnObj(9) 0.46425 ns/op 0.46566 ns/op 1.00
fnArr(9) 0.46720 ns/op 0.46533 ns/op 1.00
Container {a,b,vec} - as struct x100000 46.625 us/op 46.567 us/op 1.00
Container {a,b,vec} - as tree x100000 371.70 us/op 371.37 us/op 1.00
Container {a,vec,b} - as struct x100000 77.510 us/op 77.498 us/op 1.00
Container {a,vec,b} - as tree x100000 402.31 us/op 410.59 us/op 0.98
get 2 props x1000000 - rawObject 309.56 us/op 309.93 us/op 1.00
get 2 props x1000000 - proxy 71.416 ms/op 78.681 ms/op 0.91
get 2 props x1000000 - customObj 309.79 us/op 309.70 us/op 1.00
Simple object binary -> struct 737.00 ns/op 827.00 ns/op 0.89
Simple object binary -> tree_backed 1.7130 us/op 2.2420 us/op 0.76
Simple object struct -> tree_backed 2.2020 us/op 2.8600 us/op 0.77
Simple object tree_backed -> struct 1.9790 us/op 2.3680 us/op 0.84
Simple object struct -> binary 966.00 ns/op 1.1670 us/op 0.83
Simple object tree_backed -> binary 1.7370 us/op 2.0990 us/op 0.83
aggregationBits binary -> struct 574.00 ns/op 796.00 ns/op 0.72
aggregationBits binary -> tree_backed 2.1840 us/op 2.4740 us/op 0.88
aggregationBits struct -> tree_backed 2.5920 us/op 2.8750 us/op 0.90
aggregationBits tree_backed -> struct 1.1330 us/op 1.2420 us/op 0.91
aggregationBits struct -> binary 773.00 ns/op 860.00 ns/op 0.90
aggregationBits tree_backed -> binary 1.0030 us/op 1.0970 us/op 0.91
List(uint8) 100000 binary -> struct 1.3497 ms/op 1.2414 ms/op 1.09
List(uint8) 100000 binary -> tree_backed 89.645 us/op 86.055 us/op 1.04
List(uint8) 100000 struct -> tree_backed 1.3398 ms/op 1.3271 ms/op 1.01
List(uint8) 100000 tree_backed -> struct 962.61 us/op 928.22 us/op 1.04
List(uint8) 100000 struct -> binary 1.3065 ms/op 1.2140 ms/op 1.08
List(uint8) 100000 tree_backed -> binary 81.560 us/op 85.896 us/op 0.95
List(uint64Number) 100000 binary -> struct 1.2969 ms/op 1.2397 ms/op 1.05
List(uint64Number) 100000 binary -> tree_backed 3.7365 ms/op 3.6978 ms/op 1.01
List(uint64Number) 100000 struct -> tree_backed 5.1741 ms/op 5.0504 ms/op 1.02
List(uint64Number) 100000 tree_backed -> struct 2.1482 ms/op 2.1119 ms/op 1.02
List(uint64Number) 100000 struct -> binary 1.5221 ms/op 1.3890 ms/op 1.10
List(uint64Number) 100000 tree_backed -> binary 822.13 us/op 744.16 us/op 1.10
List(Uint64Bigint) 100000 binary -> struct 3.5412 ms/op 3.2103 ms/op 1.10
List(Uint64Bigint) 100000 binary -> tree_backed 3.8229 ms/op 3.3616 ms/op 1.14
List(Uint64Bigint) 100000 struct -> tree_backed 6.0449 ms/op 6.0119 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> struct 4.2092 ms/op 4.2382 ms/op 0.99
List(Uint64Bigint) 100000 struct -> binary 2.0689 ms/op 2.0561 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> binary 869.16 us/op 880.28 us/op 0.99
Vector(Root) 100000 binary -> struct 38.033 ms/op 37.587 ms/op 1.01
Vector(Root) 100000 binary -> tree_backed 32.257 ms/op 37.347 ms/op 0.86
Vector(Root) 100000 struct -> tree_backed 41.504 ms/op 39.141 ms/op 1.06
Vector(Root) 100000 tree_backed -> struct 48.864 ms/op 48.030 ms/op 1.02
Vector(Root) 100000 struct -> binary 1.8667 ms/op 1.8767 ms/op 0.99
Vector(Root) 100000 tree_backed -> binary 9.7680 ms/op 8.4738 ms/op 1.15
List(Validator) 100000 binary -> struct 133.54 ms/op 129.36 ms/op 1.03
List(Validator) 100000 binary -> tree_backed 342.69 ms/op 334.47 ms/op 1.02
List(Validator) 100000 struct -> tree_backed 356.92 ms/op 346.32 ms/op 1.03
List(Validator) 100000 tree_backed -> struct 212.75 ms/op 215.51 ms/op 0.99
List(Validator) 100000 struct -> binary 29.993 ms/op 30.304 ms/op 0.99
List(Validator) 100000 tree_backed -> binary 97.279 ms/op 100.13 ms/op 0.97
List(Validator-NS) 100000 binary -> struct 121.99 ms/op 126.42 ms/op 0.96
List(Validator-NS) 100000 binary -> tree_backed 184.34 ms/op 176.49 ms/op 1.04
List(Validator-NS) 100000 struct -> tree_backed 216.68 ms/op 215.56 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> struct 173.35 ms/op 180.03 ms/op 0.96
List(Validator-NS) 100000 struct -> binary 30.765 ms/op 31.290 ms/op 0.98
List(Validator-NS) 100000 tree_backed -> binary 35.266 ms/op 38.182 ms/op 0.92
get epochStatuses - MutableVector 93.195 us/op 101.91 us/op 0.91
get epochStatuses - ViewDU 195.33 us/op 197.34 us/op 0.99
set epochStatuses - ListTreeView 1.3660 ms/op 1.3946 ms/op 0.98
set epochStatuses - ListTreeView - set() 428.01 us/op 427.69 us/op 1.00
set epochStatuses - ListTreeView - commit() 468.46 us/op 409.16 us/op 1.14
bitstring 644.48 ns/op 641.73 ns/op 1.00
bit mask 13.652 ns/op 14.009 ns/op 0.97
struct - increase slot to 1000000 927.91 us/op 931.48 us/op 1.00
UintNumberType - increase slot to 1000000 28.492 ms/op 28.512 ms/op 1.00
UintBigintType - increase slot to 1000000 428.38 ms/op 421.63 ms/op 1.02
UintBigint8 x 100000 tree_deserialize 3.7532 ms/op 4.5787 ms/op 0.82
UintBigint8 x 100000 tree_serialize 1.1867 ms/op 1.1843 ms/op 1.00
UintBigint16 x 100000 tree_deserialize 3.6247 ms/op 4.5861 ms/op 0.79
UintBigint16 x 100000 tree_serialize 1.1425 ms/op 1.1533 ms/op 0.99
UintBigint32 x 100000 tree_deserialize 4.7898 ms/op 4.6960 ms/op 1.02
UintBigint32 x 100000 tree_serialize 1.2039 ms/op 1.2113 ms/op 0.99
UintBigint64 x 100000 tree_deserialize 5.0883 ms/op 5.4589 ms/op 0.93
UintBigint64 x 100000 tree_serialize 1.5668 ms/op 1.5880 ms/op 0.99
UintBigint8 x 100000 value_deserialize 432.88 us/op 432.88 us/op 1.00
UintBigint8 x 100000 value_serialize 582.97 us/op 596.22 us/op 0.98
UintBigint16 x 100000 value_deserialize 464.03 us/op 464.02 us/op 1.00
UintBigint16 x 100000 value_serialize 613.88 us/op 623.97 us/op 0.98
UintBigint32 x 100000 value_deserialize 433.50 us/op 432.95 us/op 1.00
UintBigint32 x 100000 value_serialize 615.22 us/op 634.17 us/op 0.97
UintBigint64 x 100000 value_deserialize 464.98 us/op 465.43 us/op 1.00
UintBigint64 x 100000 value_serialize 797.45 us/op 816.84 us/op 0.98
UintBigint8 x 100000 deserialize 4.6353 ms/op 4.5242 ms/op 1.02
UintBigint8 x 100000 serialize 1.3962 ms/op 1.4565 ms/op 0.96
UintBigint16 x 100000 deserialize 4.7813 ms/op 4.6700 ms/op 1.02
UintBigint16 x 100000 serialize 1.4284 ms/op 1.5142 ms/op 0.94
UintBigint32 x 100000 deserialize 5.4571 ms/op 5.3763 ms/op 1.02
UintBigint32 x 100000 serialize 2.7857 ms/op 2.7367 ms/op 1.02
UintBigint64 x 100000 deserialize 3.8882 ms/op 3.8752 ms/op 1.00
UintBigint64 x 100000 serialize 1.4886 ms/op 1.4656 ms/op 1.02
UintBigint128 x 100000 deserialize 5.9300 ms/op 5.8200 ms/op 1.02
UintBigint128 x 100000 serialize 17.921 ms/op 17.985 ms/op 1.00
UintBigint256 x 100000 deserialize 11.140 ms/op 10.842 ms/op 1.03
UintBigint256 x 100000 serialize 52.875 ms/op 51.641 ms/op 1.02
Slice from Uint8Array x25000 1.0279 ms/op 1.0127 ms/op 1.02
Slice from ArrayBuffer x25000 16.767 ms/op 16.460 ms/op 1.02
Slice from ArrayBuffer x25000 + new Uint8Array 18.966 ms/op 18.414 ms/op 1.03
Copy Uint8Array 100000 iterate 815.45 us/op 810.82 us/op 1.01
Copy Uint8Array 100000 slice 86.956 us/op 85.124 us/op 1.02
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 88.534 us/op 84.760 us/op 1.04
Copy Buffer 100000 Uint8Array.prototype.slice.call 87.918 us/op 84.994 us/op 1.03
Copy Uint8Array 100000 slice + set 162.67 us/op 144.55 us/op 1.13
Copy Uint8Array 100000 subarray + set 88.152 us/op 85.174 us/op 1.03
Copy Uint8Array 100000 slice arrayBuffer 87.957 us/op 85.403 us/op 1.03
Uint64 deserialize 100000 - iterate Uint8Array 1.8215 ms/op 1.7106 ms/op 1.06
Uint64 deserialize 100000 - by Uint32A 1.8549 ms/op 1.7307 ms/op 1.07
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.8132 ms/op 1.7345 ms/op 1.05
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0137 ms/op 4.8010 ms/op 1.04
Uint64 deserialize 100000 - by byte 43.299 ms/op 43.056 ms/op 1.01

by benchmarkbot/action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant