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: export ListUintNum64Type #353

Merged
merged 2 commits into from
Mar 15, 2024
Merged

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Mar 15, 2024

Motivation

Description

@twoeths twoeths requested a review from a team as a code owner March 15, 2024 06:24
@github-actions github-actions bot added the ssz label Mar 15, 2024
Copy link

github-actions bot commented Mar 15, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4e9c7c1 Previous: 39b39b4 Ratio
digestTwoHashObjects 50023 times 48.798 ms/op 47.667 ms/op 1.02
digest64 50023 times 50.577 ms/op 49.772 ms/op 1.02
digest 50023 times 50.286 ms/op 49.617 ms/op 1.01
input length 32 1.2280 us/op 1.2260 us/op 1.00
input length 64 1.3160 us/op 1.3330 us/op 0.99
input length 128 2.2620 us/op 2.2910 us/op 0.99
input length 256 3.3680 us/op 3.3920 us/op 0.99
input length 512 5.4750 us/op 5.5440 us/op 0.99
input length 1024 10.840 us/op 10.849 us/op 1.00
digest 1000000 times 826.04 ms/op 828.77 ms/op 1.00
hashObjectToByteArray 50023 times 1.4596 ms/op 1.4285 ms/op 1.02
byteArrayToHashObject 50023 times 2.1182 ms/op 1.8256 ms/op 1.16
getGindicesAtDepth 4.5590 us/op 4.4430 us/op 1.03
iterateAtDepth 9.4040 us/op 9.4740 us/op 0.99
getGindexBits 492.00 ns/op 495.00 ns/op 0.99
gindexIterator 1.1540 us/op 1.0870 us/op 1.06
hash 2 Uint8Array 2250026 times - as-sha256 2.2944 s/op 2.2649 s/op 1.01
hashTwoObjects 2250026 times - as-sha256 2.1864 s/op 2.1590 s/op 1.01
hash 2 Uint8Array 2250026 times - noble 5.5690 s/op 5.1457 s/op 1.08
hashTwoObjects 2250026 times - noble 8.5822 s/op 7.6650 s/op 1.12
getNodeH() x7812.5 avg hindex 14.605 us/op 14.567 us/op 1.00
getNodeH() x7812.5 index 0 5.1720 us/op 5.1780 us/op 1.00
getNodeH() x7812.5 index 7 5.2010 us/op 5.1770 us/op 1.00
getNodeH() x7812.5 index 7 with key array 5.1990 us/op 5.1060 us/op 1.02
new LeafNode() x7812.5 123.94 us/op 118.43 us/op 1.05
multiproof - depth 15, 1 requested leaves 10.235 us/op 9.7350 us/op 1.05
tree offset multiproof - depth 15, 1 requested leaves 22.523 us/op 23.450 us/op 0.96
compact multiproof - depth 15, 1 requested leaves 5.6940 us/op 4.9540 us/op 1.15
multiproof - depth 15, 2 requested leaves 15.147 us/op 14.292 us/op 1.06
tree offset multiproof - depth 15, 2 requested leaves 27.343 us/op 24.751 us/op 1.10
compact multiproof - depth 15, 2 requested leaves 3.3380 us/op 3.3900 us/op 0.98
multiproof - depth 15, 3 requested leaves 21.877 us/op 19.582 us/op 1.12
tree offset multiproof - depth 15, 3 requested leaves 35.602 us/op 34.104 us/op 1.04
compact multiproof - depth 15, 3 requested leaves 6.3100 us/op 6.2810 us/op 1.00
multiproof - depth 15, 4 requested leaves 27.311 us/op 27.940 us/op 0.98
tree offset multiproof - depth 15, 4 requested leaves 42.480 us/op 42.180 us/op 1.01
compact multiproof - depth 15, 4 requested leaves 7.1880 us/op 6.6270 us/op 1.08
packedRootsBytesToLeafNodes bytes 4000 offset 0 2.1640 us/op 2.1820 us/op 0.99
packedRootsBytesToLeafNodes bytes 4000 offset 1 2.1200 us/op 1.9220 us/op 1.10
packedRootsBytesToLeafNodes bytes 4000 offset 2 2.1340 us/op 1.8130 us/op 1.18
packedRootsBytesToLeafNodes bytes 4000 offset 3 2.1200 us/op 1.7830 us/op 1.19
subtreeFillToContents depth 40 count 250000 41.074 ms/op 40.884 ms/op 1.00
setRoot - gindexBitstring 10.701 ms/op 10.284 ms/op 1.04
setRoot - gindex 11.460 ms/op 12.624 ms/op 0.91
getRoot - gindexBitstring 2.9249 ms/op 2.7033 ms/op 1.08
getRoot - gindex 3.7376 ms/op 3.5120 ms/op 1.06
getHashObject then setHashObject 13.403 ms/op 12.202 ms/op 1.10
setNodeWithFn 11.446 ms/op 10.029 ms/op 1.14
getNodeAtDepth depth 0 x100000 1.1698 ms/op 1.1439 ms/op 1.02
setNodeAtDepth depth 0 x100000 3.3842 ms/op 3.0671 ms/op 1.10
getNodesAtDepth depth 0 x100000 1.0887 ms/op 1.0841 ms/op 1.00
setNodesAtDepth depth 0 x100000 1.4859 ms/op 1.4917 ms/op 1.00
getNodeAtDepth depth 1 x100000 1.2076 ms/op 1.2077 ms/op 1.00
setNodeAtDepth depth 1 x100000 8.8092 ms/op 6.6206 ms/op 1.33
getNodesAtDepth depth 1 x100000 1.2090 ms/op 1.2104 ms/op 1.00
setNodesAtDepth depth 1 x100000 6.8192 ms/op 5.7682 ms/op 1.18
getNodeAtDepth depth 2 x100000 3.4457 ms/op 1.4859 ms/op 2.32
setNodeAtDepth depth 2 x100000 15.498 ms/op 11.365 ms/op 1.36
getNodesAtDepth depth 2 x100000 21.998 ms/op 22.235 ms/op 0.99
setNodesAtDepth depth 2 x100000 21.900 ms/op 16.632 ms/op 1.32
tree.getNodesAtDepth - gindexes 9.6982 ms/op 8.3880 ms/op 1.16
tree.getNodesAtDepth - push all nodes 3.8241 ms/op 2.4368 ms/op 1.57
tree.getNodesAtDepth - navigation 158.04 us/op 157.65 us/op 1.00
tree.setNodesAtDepth - indexes 563.55 us/op 434.88 us/op 1.30
set at depth 8 801.00 ns/op 759.00 ns/op 1.06
set at depth 16 1.0840 us/op 911.00 ns/op 1.19
set at depth 32 1.6020 us/op 1.3090 us/op 1.22
iterateNodesAtDepth 8 256 17.642 us/op 17.262 us/op 1.02
getNodesAtDepth 8 256 3.9900 us/op 3.8630 us/op 1.03
iterateNodesAtDepth 16 65536 5.1239 ms/op 4.9030 ms/op 1.05
getNodesAtDepth 16 65536 4.5161 ms/op 2.1411 ms/op 2.11
iterateNodesAtDepth 32 250000 18.455 ms/op 17.860 ms/op 1.03
getNodesAtDepth 32 250000 6.2644 ms/op 5.8007 ms/op 1.08
iterateNodesAtDepth 40 250000 16.701 ms/op 17.559 ms/op 0.95
getNodesAtDepth 40 250000 6.3445 ms/op 5.2690 ms/op 1.20
250k validators 10.171 s/op 9.4509 s/op 1.08
bitlist bytes to struct (120,90) 935.00 ns/op 813.00 ns/op 1.15
bitlist bytes to tree (120,90) 3.2240 us/op 2.7960 us/op 1.15
bitlist bytes to struct (2048,2048) 1.5560 us/op 1.3840 us/op 1.12
bitlist bytes to tree (2048,2048) 5.8430 us/op 4.1220 us/op 1.42
ByteListType - deserialize 11.873 ms/op 8.7896 ms/op 1.35
BasicListType - deserialize 9.8530 ms/op 9.6807 ms/op 1.02
ByteListType - serialize 11.309 ms/op 9.4080 ms/op 1.20
BasicListType - serialize 14.560 ms/op 12.170 ms/op 1.20
BasicListType - tree_convertToStruct 29.431 ms/op 24.261 ms/op 1.21
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 6.2709 ms/op 4.5458 ms/op 1.38
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.1714 ms/op 4.1414 ms/op 1.01
Array.push len 300000 empty Array - number 7.1959 ms/op 6.8793 ms/op 1.05
Array.set len 300000 from new Array - number 2.5654 ms/op 1.6469 ms/op 1.56
Array.set len 300000 - number 6.6626 ms/op 6.0207 ms/op 1.11
Uint8Array.set len 300000 227.67 us/op 225.99 us/op 1.01
Uint32Array.set len 300000 341.88 us/op 313.42 us/op 1.09
Container({a: uint8, b: uint8}) getViewDU x300000 23.684 ms/op 21.160 ms/op 1.12
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.852 ms/op 10.082 ms/op 1.08
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 228.31 ms/op 223.39 ms/op 1.02
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 372.29 ms/op 331.20 ms/op 1.12
List(Container) len 300000 ViewDU.get(i) 12.802 ms/op 7.8577 ms/op 1.63
List(Container) len 300000 ViewDU.getReadonly(i) 13.006 ms/op 7.5450 ms/op 1.72
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 39.040 ms/op 39.828 ms/op 0.98
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 7.0843 ms/op 5.7757 ms/op 1.23
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 11.244 ms/op 6.8262 ms/op 1.65
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 11.329 ms/op 6.6419 ms/op 1.71
Array.push len 300000 empty Array - object 7.3055 ms/op 6.8811 ms/op 1.06
Array.set len 300000 from new Array - object 4.1147 ms/op 1.9328 ms/op 2.13
Array.set len 300000 - object 7.0089 ms/op 6.6441 ms/op 1.05
cachePermanentRootStruct no cache 10.279 us/op 9.8510 us/op 1.04
cachePermanentRootStruct with cache 279.00 ns/op 251.00 ns/op 1.11
epochParticipation len 250000 rws 7813 2.8028 ms/op 2.3643 ms/op 1.19
deserialize Attestation - tree 3.7630 us/op 3.2780 us/op 1.15
deserialize Attestation - struct 2.5650 us/op 2.2260 us/op 1.15
deserialize SignedAggregateAndProof - tree 5.0270 us/op 4.1320 us/op 1.22
deserialize SignedAggregateAndProof - struct 3.7170 us/op 3.3220 us/op 1.12
deserialize SyncCommitteeMessage - tree 1.3470 us/op 1.1670 us/op 1.15
deserialize SyncCommitteeMessage - struct 1.5630 us/op 1.3420 us/op 1.16
deserialize SignedContributionAndProof - tree 2.3140 us/op 2.0740 us/op 1.12
deserialize SignedContributionAndProof - struct 3.4570 us/op 2.7420 us/op 1.26
deserialize SignedBeaconBlock - tree 288.02 us/op 240.91 us/op 1.20
deserialize SignedBeaconBlock - struct 168.72 us/op 148.12 us/op 1.14
BeaconState vc 300000 - deserialize tree 603.80 ms/op 590.30 ms/op 1.02
BeaconState vc 300000 - serialize tree 121.50 ms/op 120.44 ms/op 1.01
BeaconState.historicalRoots vc 300000 - deserialize tree 1.0180 us/op 945.00 ns/op 1.08
BeaconState.historicalRoots vc 300000 - serialize tree 973.00 ns/op 837.00 ns/op 1.16
BeaconState.validators vc 300000 - deserialize tree 557.92 ms/op 568.10 ms/op 0.98
BeaconState.validators vc 300000 - serialize tree 111.10 ms/op 111.70 ms/op 0.99
BeaconState.balances vc 300000 - deserialize tree 21.290 ms/op 18.918 ms/op 1.13
BeaconState.balances vc 300000 - serialize tree 5.7921 ms/op 3.4981 ms/op 1.66
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 758.84 us/op 461.60 us/op 1.64
BeaconState.previousEpochParticipation vc 300000 - serialize tree 289.41 us/op 269.01 us/op 1.08
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 753.73 us/op 485.22 us/op 1.55
BeaconState.currentEpochParticipation vc 300000 - serialize tree 280.42 us/op 268.69 us/op 1.04
BeaconState.inactivityScores vc 300000 - deserialize tree 21.548 ms/op 16.847 ms/op 1.28
BeaconState.inactivityScores vc 300000 - serialize tree 6.0908 ms/op 5.4842 ms/op 1.11
hashTreeRoot Attestation - struct 42.931 us/op 35.242 us/op 1.22
hashTreeRoot Attestation - tree 19.732 us/op 18.606 us/op 1.06
hashTreeRoot SignedAggregateAndProof - struct 61.299 us/op 46.009 us/op 1.33
hashTreeRoot SignedAggregateAndProof - tree 30.777 us/op 29.594 us/op 1.04
hashTreeRoot SyncCommitteeMessage - struct 15.593 us/op 15.157 us/op 1.03
hashTreeRoot SyncCommitteeMessage - tree 6.3700 us/op 6.2990 us/op 1.01
hashTreeRoot SignedContributionAndProof - struct 39.489 us/op 32.872 us/op 1.20
hashTreeRoot SignedContributionAndProof - tree 23.944 us/op 23.120 us/op 1.04
hashTreeRoot SignedBeaconBlock - struct 2.9064 ms/op 2.7187 ms/op 1.07
hashTreeRoot SignedBeaconBlock - tree 1.6966 ms/op 1.6918 ms/op 1.00
hashTreeRoot Validator - struct 15.289 us/op 14.488 us/op 1.06
hashTreeRoot Validator - tree 12.797 us/op 12.519 us/op 1.02
BeaconState vc 300000 - hashTreeRoot tree 3.7703 s/op 3.7754 s/op 1.00
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.5580 us/op 1.5300 us/op 1.02
BeaconState.validators vc 300000 - hashTreeRoot tree 3.6418 s/op 3.6146 s/op 1.01
BeaconState.balances vc 300000 - hashTreeRoot tree 88.009 ms/op 89.419 ms/op 0.98
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 9.2351 ms/op 8.9598 ms/op 1.03
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 9.1631 ms/op 8.9620 ms/op 1.02
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 93.131 ms/op 84.145 ms/op 1.11
hash64 x18 19.970 us/op 19.842 us/op 1.01
hashTwoObjects x18 18.081 us/op 18.016 us/op 1.00
hash64 x1740 1.8728 ms/op 1.8712 ms/op 1.00
hashTwoObjects x1740 1.7403 ms/op 1.7062 ms/op 1.02
hash64 x2700000 2.9036 s/op 2.8955 s/op 1.00
hashTwoObjects x2700000 2.6776 s/op 2.6504 s/op 1.01
get_exitEpoch - ContainerType 237.00 ns/op 244.00 ns/op 0.97
get_exitEpoch - ContainerNodeStructType 238.00 ns/op 246.00 ns/op 0.97
set_exitEpoch - ContainerType 276.00 ns/op 269.00 ns/op 1.03
set_exitEpoch - ContainerNodeStructType 247.00 ns/op 249.00 ns/op 0.99
get_pubkey - ContainerType 1.2580 us/op 1.2600 us/op 1.00
get_pubkey - ContainerNodeStructType 244.00 ns/op 248.00 ns/op 0.98
hashTreeRoot - ContainerType 478.00 ns/op 470.00 ns/op 1.02
hashTreeRoot - ContainerNodeStructType 490.00 ns/op 496.00 ns/op 0.99
createProof - ContainerType 4.6250 us/op 4.3070 us/op 1.07
createProof - ContainerNodeStructType 24.205 us/op 24.445 us/op 0.99
serialize - ContainerType 2.0430 us/op 1.9570 us/op 1.04
serialize - ContainerNodeStructType 1.7960 us/op 1.7840 us/op 1.01
set_exitEpoch_and_hashTreeRoot - ContainerType 4.4170 us/op 4.3290 us/op 1.02
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 11.911 us/op 11.805 us/op 1.01
Array - for of 4.9020 us/op 5.1830 us/op 0.95
Array - for(;;) 4.3040 us/op 4.5070 us/op 0.95
basicListValue.readonlyValuesArray() 4.5949 ms/op 5.2504 ms/op 0.88
basicListValue.readonlyValuesArray() + loop all 5.0594 ms/op 4.9297 ms/op 1.03
compositeListValue.readonlyValuesArray() 27.265 ms/op 35.036 ms/op 0.78
compositeListValue.readonlyValuesArray() + loop all 26.397 ms/op 30.195 ms/op 0.87
Number64UintType - get balances list 4.8068 ms/op 4.3181 ms/op 1.11
Number64UintType - set balances list 9.3357 ms/op 11.342 ms/op 0.82
Number64UintType - get and increase 10 then set 42.707 ms/op 43.135 ms/op 0.99
Number64UintType - increase 10 using applyDelta 17.578 ms/op 17.126 ms/op 1.03
Number64UintType - increase 10 using applyDeltaInBatch 17.910 ms/op 17.035 ms/op 1.05
tree_newTreeFromUint64Deltas 17.482 ms/op 18.649 ms/op 0.94
unsafeUint8ArrayToTree 29.360 ms/op 36.647 ms/op 0.80
bitLength(50) 234.00 ns/op 225.00 ns/op 1.04
bitLengthStr(50) 271.00 ns/op 242.00 ns/op 1.12
bitLength(8000) 234.00 ns/op 223.00 ns/op 1.05
bitLengthStr(8000) 315.00 ns/op 289.00 ns/op 1.09
bitLength(250000) 246.00 ns/op 224.00 ns/op 1.10
bitLengthStr(250000) 350.00 ns/op 322.00 ns/op 1.09
floor - Math.floor (53) 0.46431 ns/op 0.46458 ns/op 1.00
floor - << 0 (53) 0.46436 ns/op 0.46703 ns/op 0.99
floor - Math.floor (512) 0.46487 ns/op 0.46401 ns/op 1.00
floor - << 0 (512) 0.46416 ns/op 0.46510 ns/op 1.00
fnIf(0) 1.5469 ns/op 1.5462 ns/op 1.00
fnSwitch(0) 2.4755 ns/op 2.4766 ns/op 1.00
fnObj(0) 0.47006 ns/op 0.46556 ns/op 1.01
fnArr(0) 0.46534 ns/op 0.46682 ns/op 1.00
fnIf(4) 2.1663 ns/op 2.1637 ns/op 1.00
fnSwitch(4) 2.4748 ns/op 2.4723 ns/op 1.00
fnObj(4) 0.46393 ns/op 0.46430 ns/op 1.00
fnArr(4) 0.46397 ns/op 0.46571 ns/op 1.00
fnIf(9) 3.0945 ns/op 3.1031 ns/op 1.00
fnSwitch(9) 2.4809 ns/op 2.4730 ns/op 1.00
fnObj(9) 0.46421 ns/op 0.46466 ns/op 1.00
fnArr(9) 0.46441 ns/op 0.46787 ns/op 0.99
Container {a,b,vec} - as struct x100000 46.943 us/op 47.104 us/op 1.00
Container {a,b,vec} - as tree x100000 371.34 us/op 371.14 us/op 1.00
Container {a,vec,b} - as struct x100000 77.457 us/op 78.237 us/op 0.99
Container {a,vec,b} - as tree x100000 402.08 us/op 403.55 us/op 1.00
get 2 props x1000000 - rawObject 309.94 us/op 309.80 us/op 1.00
get 2 props x1000000 - proxy 71.208 ms/op 71.793 ms/op 0.99
get 2 props x1000000 - customObj 309.40 us/op 309.30 us/op 1.00
Simple object binary -> struct 657.00 ns/op 619.00 ns/op 1.06
Simple object binary -> tree_backed 1.7620 us/op 1.6640 us/op 1.06
Simple object struct -> tree_backed 2.3070 us/op 2.2100 us/op 1.04
Simple object tree_backed -> struct 1.9710 us/op 1.8580 us/op 1.06
Simple object struct -> binary 1.1300 us/op 959.00 ns/op 1.18
Simple object tree_backed -> binary 1.7310 us/op 1.6200 us/op 1.07
aggregationBits binary -> struct 640.00 ns/op 565.00 ns/op 1.13
aggregationBits binary -> tree_backed 2.4280 us/op 2.2530 us/op 1.08
aggregationBits struct -> tree_backed 3.0420 us/op 2.7040 us/op 1.13
aggregationBits tree_backed -> struct 1.3030 us/op 1.1400 us/op 1.14
aggregationBits struct -> binary 938.00 ns/op 844.00 ns/op 1.11
aggregationBits tree_backed -> binary 1.1190 us/op 998.00 ns/op 1.12
List(uint8) 100000 binary -> struct 1.3081 ms/op 1.1267 ms/op 1.16
List(uint8) 100000 binary -> tree_backed 95.177 us/op 79.659 us/op 1.19
List(uint8) 100000 struct -> tree_backed 1.5378 ms/op 1.3478 ms/op 1.14
List(uint8) 100000 tree_backed -> struct 1.0023 ms/op 949.99 us/op 1.06
List(uint8) 100000 struct -> binary 1.3808 ms/op 1.2828 ms/op 1.08
List(uint8) 100000 tree_backed -> binary 86.372 us/op 85.539 us/op 1.01
List(uint64Number) 100000 binary -> struct 1.3438 ms/op 1.2415 ms/op 1.08
List(uint64Number) 100000 binary -> tree_backed 3.4244 ms/op 3.9778 ms/op 0.86
List(uint64Number) 100000 struct -> tree_backed 4.9876 ms/op 5.1952 ms/op 0.96
List(uint64Number) 100000 tree_backed -> struct 2.2647 ms/op 2.1170 ms/op 1.07
List(uint64Number) 100000 struct -> binary 1.6221 ms/op 1.4710 ms/op 1.10
List(uint64Number) 100000 tree_backed -> binary 831.25 us/op 826.94 us/op 1.01
List(Uint64Bigint) 100000 binary -> struct 3.6155 ms/op 3.7317 ms/op 0.97
List(Uint64Bigint) 100000 binary -> tree_backed 3.3633 ms/op 3.9422 ms/op 0.85
List(Uint64Bigint) 100000 struct -> tree_backed 5.4925 ms/op 6.0311 ms/op 0.91
List(Uint64Bigint) 100000 tree_backed -> struct 5.3833 ms/op 4.7228 ms/op 1.14
List(Uint64Bigint) 100000 struct -> binary 2.0827 ms/op 2.0434 ms/op 1.02
List(Uint64Bigint) 100000 tree_backed -> binary 1.2280 ms/op 831.51 us/op 1.48
Vector(Root) 100000 binary -> struct 28.898 ms/op 38.421 ms/op 0.75
Vector(Root) 100000 binary -> tree_backed 32.022 ms/op 37.493 ms/op 0.85
Vector(Root) 100000 struct -> tree_backed 33.281 ms/op 39.877 ms/op 0.83
Vector(Root) 100000 tree_backed -> struct 41.374 ms/op 49.295 ms/op 0.84
Vector(Root) 100000 struct -> binary 1.9639 ms/op 1.9264 ms/op 1.02
Vector(Root) 100000 tree_backed -> binary 9.8277 ms/op 10.306 ms/op 0.95
List(Validator) 100000 binary -> struct 109.07 ms/op 136.95 ms/op 0.80
List(Validator) 100000 binary -> tree_backed 286.11 ms/op 342.33 ms/op 0.84
List(Validator) 100000 struct -> tree_backed 300.74 ms/op 379.47 ms/op 0.79
List(Validator) 100000 tree_backed -> struct 186.46 ms/op 232.64 ms/op 0.80
List(Validator) 100000 struct -> binary 38.005 ms/op 31.297 ms/op 1.21
List(Validator) 100000 tree_backed -> binary 97.362 ms/op 100.03 ms/op 0.97
List(Validator-NS) 100000 binary -> struct 103.40 ms/op 137.06 ms/op 0.75
List(Validator-NS) 100000 binary -> tree_backed 159.21 ms/op 192.38 ms/op 0.83
List(Validator-NS) 100000 struct -> tree_backed 194.36 ms/op 227.69 ms/op 0.85
List(Validator-NS) 100000 tree_backed -> struct 154.62 ms/op 178.53 ms/op 0.87
List(Validator-NS) 100000 struct -> binary 37.910 ms/op 31.634 ms/op 1.20
List(Validator-NS) 100000 tree_backed -> binary 38.288 ms/op 36.209 ms/op 1.06
get epochStatuses - MutableVector 108.62 us/op 94.256 us/op 1.15
get epochStatuses - ViewDU 204.08 us/op 206.46 us/op 0.99
set epochStatuses - ListTreeView 1.5688 ms/op 1.7382 ms/op 0.90
set epochStatuses - ListTreeView - set() 440.05 us/op 442.01 us/op 1.00
set epochStatuses - ListTreeView - commit() 433.14 us/op 425.97 us/op 1.02
bitstring 647.36 ns/op 639.22 ns/op 1.01
bit mask 13.871 ns/op 13.693 ns/op 1.01
struct - increase slot to 1000000 928.31 us/op 927.37 us/op 1.00
UintNumberType - increase slot to 1000000 28.494 ms/op 28.874 ms/op 0.99
UintBigintType - increase slot to 1000000 424.62 ms/op 411.05 ms/op 1.03
UintBigint8 x 100000 tree_deserialize 4.8990 ms/op 4.5436 ms/op 1.08
UintBigint8 x 100000 tree_serialize 1.2049 ms/op 1.1860 ms/op 1.02
UintBigint16 x 100000 tree_deserialize 5.4422 ms/op 4.1935 ms/op 1.30
UintBigint16 x 100000 tree_serialize 1.2968 ms/op 1.1447 ms/op 1.13
UintBigint32 x 100000 tree_deserialize 5.1044 ms/op 4.6370 ms/op 1.10
UintBigint32 x 100000 tree_serialize 1.3930 ms/op 1.2128 ms/op 1.15
UintBigint64 x 100000 tree_deserialize 5.7858 ms/op 5.4607 ms/op 1.06
UintBigint64 x 100000 tree_serialize 1.7832 ms/op 1.6501 ms/op 1.08
UintBigint8 x 100000 value_deserialize 433.13 us/op 436.74 us/op 0.99
UintBigint8 x 100000 value_serialize 667.25 us/op 630.07 us/op 1.06
UintBigint16 x 100000 value_deserialize 470.86 us/op 464.02 us/op 1.01
UintBigint16 x 100000 value_serialize 688.78 us/op 649.19 us/op 1.06
UintBigint32 x 100000 value_deserialize 432.84 us/op 436.23 us/op 0.99
UintBigint32 x 100000 value_serialize 720.81 us/op 643.64 us/op 1.12
UintBigint64 x 100000 value_deserialize 465.07 us/op 465.13 us/op 1.00
UintBigint64 x 100000 value_serialize 966.58 us/op 797.24 us/op 1.21
UintBigint8 x 100000 deserialize 4.9281 ms/op 5.2747 ms/op 0.93
UintBigint8 x 100000 serialize 1.5711 ms/op 1.4062 ms/op 1.12
UintBigint16 x 100000 deserialize 4.6564 ms/op 5.2890 ms/op 0.88
UintBigint16 x 100000 serialize 1.5091 ms/op 1.4486 ms/op 1.04
UintBigint32 x 100000 deserialize 5.4348 ms/op 5.4833 ms/op 0.99
UintBigint32 x 100000 serialize 2.7875 ms/op 2.8139 ms/op 0.99
UintBigint64 x 100000 deserialize 3.8848 ms/op 4.4435 ms/op 0.87
UintBigint64 x 100000 serialize 1.4879 ms/op 1.5126 ms/op 0.98
UintBigint128 x 100000 deserialize 6.3447 ms/op 6.4324 ms/op 0.99
UintBigint128 x 100000 serialize 17.415 ms/op 17.236 ms/op 1.01
UintBigint256 x 100000 deserialize 10.981 ms/op 11.598 ms/op 0.95
UintBigint256 x 100000 serialize 50.468 ms/op 51.060 ms/op 0.99
Slice from Uint8Array x25000 1.0297 ms/op 988.47 us/op 1.04
Slice from ArrayBuffer x25000 18.051 ms/op 17.571 ms/op 1.03
Slice from ArrayBuffer x25000 + new Uint8Array 20.452 ms/op 20.102 ms/op 1.02
Copy Uint8Array 100000 iterate 819.52 us/op 925.74 us/op 0.89
Copy Uint8Array 100000 slice 91.701 us/op 138.34 us/op 0.66
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 93.187 us/op 137.74 us/op 0.68
Copy Buffer 100000 Uint8Array.prototype.slice.call 92.812 us/op 147.00 us/op 0.63
Copy Uint8Array 100000 slice + set 182.81 us/op 261.50 us/op 0.70
Copy Uint8Array 100000 subarray + set 92.927 us/op 134.45 us/op 0.69
Copy Uint8Array 100000 slice arrayBuffer 92.696 us/op 128.65 us/op 0.72
Uint64 deserialize 100000 - iterate Uint8Array 1.9527 ms/op 1.8804 ms/op 1.04
Uint64 deserialize 100000 - by Uint32A 1.9474 ms/op 1.9150 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.9746 ms/op 1.9270 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0432 ms/op 4.9707 ms/op 1.01
Uint64 deserialize 100000 - by byte 65.241 ms/op 65.055 ms/op 1.00

by benchmarkbot/action

@twoeths twoeths merged commit 30e3deb into master Mar 15, 2024
11 checks passed
@twoeths twoeths deleted the tuyen/export_ListUintNum64Type branch March 15, 2024 07:24
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