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: bump node version in GitHub workflows #372

Merged
merged 2 commits into from May 2, 2024
Merged

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Apr 30, 2024

Use node20 and setup-node v4 in GitHub workflows as recommended here

This should fix CI errors when attempting to run yarn using node16. See error log

@ensi321 ensi321 requested a review from a team as a code owner April 30, 2024 06:19
@ensi321 ensi321 marked this pull request as draft April 30, 2024 06:19
@github-actions github-actions bot added the CI label Apr 30, 2024
Copy link

github-actions bot commented Apr 30, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 4c0ee33 Previous: d7191b8 Ratio
new LeafNode() x7812.5 14.787 us/op 196.06 us/op 0.08
Full benchmark results
Benchmark suite Current: 4c0ee33 Previous: d7191b8 Ratio
digestTwoHashObjects 50023 times 47.810 ms/op 47.886 ms/op 1.00
digest64 50023 times 49.565 ms/op 49.990 ms/op 0.99
digest 50023 times 51.485 ms/op 53.310 ms/op 0.97
input length 32 1.1820 us/op 1.4250 us/op 0.83
input length 64 1.3510 us/op 1.5750 us/op 0.86
input length 128 2.2690 us/op 2.5030 us/op 0.91
input length 256 3.3950 us/op 3.6120 us/op 0.94
input length 512 5.5690 us/op 5.8320 us/op 0.95
input length 1024 10.770 us/op 11.144 us/op 0.97
digest 1000000 times 798.69 ms/op 832.82 ms/op 0.96
hashObjectToByteArray 50023 times 1.4293 ms/op 1.4249 ms/op 1.00
byteArrayToHashObject 50023 times 2.5032 ms/op 3.5406 ms/op 0.71
getGindicesAtDepth 4.6470 us/op 5.0250 us/op 0.92
iterateAtDepth 7.5370 us/op 10.126 us/op 0.74
getGindexBits 439.00 ns/op 538.00 ns/op 0.82
gindexIterator 1000.0 ns/op 1.2020 us/op 0.83
hash 2 Uint8Array 2250026 times - as-sha256 2.2956 s/op 2.3193 s/op 0.99
hashTwoObjects 2250026 times - as-sha256 2.2172 s/op 2.2329 s/op 0.99
hash 2 Uint8Array 2250026 times - noble 4.9931 s/op 6.0164 s/op 0.83
hashTwoObjects 2250026 times - noble 6.4618 s/op 6.9520 s/op 0.93
getNodeH() x7812.5 avg hindex 12.685 us/op 15.617 us/op 0.81
getNodeH() x7812.5 index 0 6.4390 us/op 5.1580 us/op 1.25
getNodeH() x7812.5 index 7 6.3480 us/op 5.1250 us/op 1.24
getNodeH() x7812.5 index 7 with key array 6.3980 us/op 5.2030 us/op 1.23
new LeafNode() x7812.5 14.787 us/op 196.06 us/op 0.08
multiproof - depth 15, 1 requested leaves 9.3260 us/op 10.337 us/op 0.90
tree offset multiproof - depth 15, 1 requested leaves 19.985 us/op 20.629 us/op 0.97
compact multiproof - depth 15, 1 requested leaves 5.1660 us/op 5.4510 us/op 0.95
multiproof - depth 15, 2 requested leaves 12.897 us/op 13.569 us/op 0.95
tree offset multiproof - depth 15, 2 requested leaves 23.064 us/op 24.482 us/op 0.94
compact multiproof - depth 15, 2 requested leaves 4.2890 us/op 3.3270 us/op 1.29
multiproof - depth 15, 3 requested leaves 17.772 us/op 18.761 us/op 0.95
tree offset multiproof - depth 15, 3 requested leaves 29.927 us/op 31.822 us/op 0.94
compact multiproof - depth 15, 3 requested leaves 6.4110 us/op 5.5330 us/op 1.16
multiproof - depth 15, 4 requested leaves 22.727 us/op 24.656 us/op 0.92
tree offset multiproof - depth 15, 4 requested leaves 34.310 us/op 39.102 us/op 0.88
compact multiproof - depth 15, 4 requested leaves 5.1740 us/op 5.4100 us/op 0.96
packedRootsBytesToLeafNodes bytes 4000 offset 0 1.9880 us/op 1.9940 us/op 1.00
packedRootsBytesToLeafNodes bytes 4000 offset 1 1.9720 us/op 1.9860 us/op 0.99
packedRootsBytesToLeafNodes bytes 4000 offset 2 1.9830 us/op 1.9790 us/op 1.00
packedRootsBytesToLeafNodes bytes 4000 offset 3 1.9780 us/op 1.9860 us/op 1.00
subtreeFillToContents depth 40 count 250000 46.585 ms/op 47.466 ms/op 0.98
setRoot - gindexBitstring 8.7531 ms/op 9.1755 ms/op 0.95
setRoot - gindex 8.9414 ms/op 9.7307 ms/op 0.92
getRoot - gindexBitstring 2.5554 ms/op 2.4145 ms/op 1.06
getRoot - gindex 3.1925 ms/op 3.1756 ms/op 1.01
getHashObject then setHashObject 10.090 ms/op 10.632 ms/op 0.95
setNodeWithFn 7.8419 ms/op 9.3400 ms/op 0.84
getNodeAtDepth depth 0 x100000 1.0826 ms/op 1.1700 ms/op 0.93
setNodeAtDepth depth 0 x100000 2.3305 ms/op 2.7642 ms/op 0.84
getNodesAtDepth depth 0 x100000 1.0521 ms/op 1.0841 ms/op 0.97
setNodesAtDepth depth 0 x100000 1.4345 ms/op 1.4874 ms/op 0.96
getNodeAtDepth depth 1 x100000 1.1444 ms/op 1.2343 ms/op 0.93
setNodeAtDepth depth 1 x100000 5.1034 ms/op 5.9648 ms/op 0.86
getNodesAtDepth depth 1 x100000 1.1769 ms/op 1.2084 ms/op 0.97
setNodesAtDepth depth 1 x100000 4.3143 ms/op 6.0912 ms/op 0.71
getNodeAtDepth depth 2 x100000 1.4230 ms/op 1.4848 ms/op 0.96
setNodeAtDepth depth 2 x100000 8.8153 ms/op 10.058 ms/op 0.88
getNodesAtDepth depth 2 x100000 18.459 ms/op 20.438 ms/op 0.90
setNodesAtDepth depth 2 x100000 12.465 ms/op 14.112 ms/op 0.88
tree.getNodesAtDepth - gindexes 7.7773 ms/op 7.5169 ms/op 1.03
tree.getNodesAtDepth - push all nodes 1.9151 ms/op 2.2665 ms/op 0.84
tree.getNodesAtDepth - navigation 232.34 us/op 157.90 us/op 1.47
tree.setNodesAtDepth - indexes 358.56 us/op 389.96 us/op 0.92
set at depth 8 460.00 ns/op 622.00 ns/op 0.74
set at depth 16 595.00 ns/op 707.00 ns/op 0.84
set at depth 32 948.00 ns/op 1.0920 us/op 0.87
iterateNodesAtDepth 8 256 13.184 us/op 14.225 us/op 0.93
getNodesAtDepth 8 256 3.3900 us/op 3.5750 us/op 0.95
iterateNodesAtDepth 16 65536 4.3011 ms/op 4.6538 ms/op 0.92
getNodesAtDepth 16 65536 1.5827 ms/op 2.0332 ms/op 0.78
iterateNodesAtDepth 32 250000 15.188 ms/op 16.961 ms/op 0.90
getNodesAtDepth 32 250000 4.3462 ms/op 4.7969 ms/op 0.91
iterateNodesAtDepth 40 250000 15.088 ms/op 16.909 ms/op 0.89
getNodesAtDepth 40 250000 4.3600 ms/op 4.7079 ms/op 0.93
250k validators 7.0011 s/op 7.7870 s/op 0.90
bitlist bytes to struct (120,90) 515.00 ns/op 814.00 ns/op 0.63
bitlist bytes to tree (120,90) 2.1780 us/op 2.4590 us/op 0.89
bitlist bytes to struct (2048,2048) 933.00 ns/op 1.0840 us/op 0.86
bitlist bytes to tree (2048,2048) 3.3450 us/op 3.8720 us/op 0.86
ByteListType - deserialize 7.5733 ms/op 7.5503 ms/op 1.00
BasicListType - deserialize 12.015 ms/op 10.070 ms/op 1.19
ByteListType - serialize 7.4557 ms/op 7.6534 ms/op 0.97
BasicListType - serialize 9.8123 ms/op 10.754 ms/op 0.91
BasicListType - tree_convertToStruct 22.414 ms/op 24.923 ms/op 0.90
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.3385 ms/op 4.1160 ms/op 1.05
List[uint8, 68719476736] len 300000 ViewDU.get(i) 2.7797 ms/op 4.1212 ms/op 0.67
Array.push len 300000 empty Array - number 6.2597 ms/op 6.3867 ms/op 0.98
Array.set len 300000 from new Array - number 1.6663 ms/op 1.7237 ms/op 0.97
Array.set len 300000 - number 5.2488 ms/op 5.3869 ms/op 0.97
Uint8Array.set len 300000 371.28 us/op 216.26 us/op 1.72
Uint32Array.set len 300000 435.57 us/op 310.00 us/op 1.41
Container({a: uint8, b: uint8}) getViewDU x300000 46.637 ms/op 20.526 ms/op 2.27
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.924 ms/op 9.3895 ms/op 1.16
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 208.17 ms/op 205.57 ms/op 1.01
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 257.06 ms/op 269.11 ms/op 0.96
List(Container) len 300000 ViewDU.get(i) 6.3088 ms/op 6.6708 ms/op 0.95
List(Container) len 300000 ViewDU.getReadonly(i) 6.1202 ms/op 6.6290 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 39.014 ms/op 36.783 ms/op 1.06
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.5163 ms/op 5.3122 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 5.8975 ms/op 6.1704 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 5.8706 ms/op 6.0321 ms/op 0.97
Array.push len 300000 empty Array - object 6.0631 ms/op 5.9902 ms/op 1.01
Array.set len 300000 from new Array - object 2.1942 ms/op 2.0365 ms/op 1.08
Array.set len 300000 - object 5.8698 ms/op 6.1522 ms/op 0.95
cachePermanentRootStruct no cache 8.5820 us/op 9.1410 us/op 0.94
cachePermanentRootStruct with cache 203.00 ns/op 236.00 ns/op 0.86
epochParticipation len 250000 rws 7813 2.2212 ms/op 2.3681 ms/op 0.94
deserialize Attestation - tree 4.1600 us/op 3.0250 us/op 1.38
deserialize Attestation - struct 1.8140 us/op 2.0330 us/op 0.89
deserialize SignedAggregateAndProof - tree 3.7270 us/op 3.7690 us/op 0.99
deserialize SignedAggregateAndProof - struct 2.9430 us/op 3.1060 us/op 0.95
deserialize SyncCommitteeMessage - tree 1.0860 us/op 1.1530 us/op 0.94
deserialize SyncCommitteeMessage - struct 1.1270 us/op 1.2390 us/op 0.91
deserialize SignedContributionAndProof - tree 2.0590 us/op 2.0200 us/op 1.02
deserialize SignedContributionAndProof - struct 2.2810 us/op 2.5410 us/op 0.90
deserialize SignedBeaconBlock - tree 211.65 us/op 218.01 us/op 0.97
deserialize SignedBeaconBlock - struct 118.88 us/op 131.57 us/op 0.90
BeaconState vc 300000 - deserialize tree 553.04 ms/op 560.85 ms/op 0.99
BeaconState vc 300000 - serialize tree 121.68 ms/op 138.89 ms/op 0.88
BeaconState.historicalRoots vc 300000 - deserialize tree 753.00 ns/op 849.00 ns/op 0.89
BeaconState.historicalRoots vc 300000 - serialize tree 648.00 ns/op 664.00 ns/op 0.98
BeaconState.validators vc 300000 - deserialize tree 517.11 ms/op 546.40 ms/op 0.95
BeaconState.validators vc 300000 - serialize tree 95.565 ms/op 100.67 ms/op 0.95
BeaconState.balances vc 300000 - deserialize tree 18.184 ms/op 17.174 ms/op 1.06
BeaconState.balances vc 300000 - serialize tree 3.5991 ms/op 3.0579 ms/op 1.18
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 446.31 us/op 367.59 us/op 1.21
BeaconState.previousEpochParticipation vc 300000 - serialize tree 268.80 us/op 276.70 us/op 0.97
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 461.76 us/op 368.46 us/op 1.25
BeaconState.currentEpochParticipation vc 300000 - serialize tree 284.36 us/op 271.47 us/op 1.05
BeaconState.inactivityScores vc 300000 - deserialize tree 20.985 ms/op 21.489 ms/op 0.98
BeaconState.inactivityScores vc 300000 - serialize tree 3.8481 ms/op 2.5703 ms/op 1.50
hashTreeRoot Attestation - struct 27.136 us/op 26.814 us/op 1.01
hashTreeRoot Attestation - tree 17.951 us/op 18.460 us/op 0.97
hashTreeRoot SignedAggregateAndProof - struct 37.243 us/op 38.330 us/op 0.97
hashTreeRoot SignedAggregateAndProof - tree 27.238 us/op 27.860 us/op 0.98
hashTreeRoot SyncCommitteeMessage - struct 8.9390 us/op 9.1000 us/op 0.98
hashTreeRoot SyncCommitteeMessage - tree 6.3630 us/op 6.4290 us/op 0.99
hashTreeRoot SignedContributionAndProof - struct 24.309 us/op 25.959 us/op 0.94
hashTreeRoot SignedContributionAndProof - tree 19.324 us/op 19.717 us/op 0.98
hashTreeRoot SignedBeaconBlock - struct 2.1792 ms/op 2.3192 ms/op 0.94
hashTreeRoot SignedBeaconBlock - tree 1.6961 ms/op 1.6849 ms/op 1.01
hashTreeRoot Validator - struct 11.711 us/op 12.719 us/op 0.92
hashTreeRoot Validator - tree 10.309 us/op 10.909 us/op 0.94
BeaconState vc 300000 - hashTreeRoot tree 3.5246 s/op 3.6104 s/op 0.98
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.3040 us/op 1.4290 us/op 0.91
BeaconState.validators vc 300000 - hashTreeRoot tree 3.3710 s/op 3.4445 s/op 0.98
BeaconState.balances vc 300000 - hashTreeRoot tree 84.773 ms/op 85.030 ms/op 1.00
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 9.1998 ms/op 9.0571 ms/op 1.02
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 9.0516 ms/op 9.0534 ms/op 1.00
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 82.606 ms/op 88.596 ms/op 0.93
hash64 x18 18.614 us/op 19.772 us/op 0.94
hashTwoObjects x18 17.598 us/op 17.922 us/op 0.98
hash64 x1740 1.7547 ms/op 1.8284 ms/op 0.96
hashTwoObjects x1740 1.6800 ms/op 1.7140 ms/op 0.98
hash64 x2700000 2.7392 s/op 2.8519 s/op 0.96
hashTwoObjects x2700000 2.6170 s/op 2.6560 s/op 0.99
get_exitEpoch - ContainerType 188.00 ns/op 210.00 ns/op 0.90
get_exitEpoch - ContainerNodeStructType 187.00 ns/op 210.00 ns/op 0.89
set_exitEpoch - ContainerType 211.00 ns/op 237.00 ns/op 0.89
set_exitEpoch - ContainerNodeStructType 198.00 ns/op 215.00 ns/op 0.92
get_pubkey - ContainerType 961.00 ns/op 1.0250 us/op 0.94
get_pubkey - ContainerNodeStructType 196.00 ns/op 205.00 ns/op 0.96
hashTreeRoot - ContainerType 330.00 ns/op 383.00 ns/op 0.86
hashTreeRoot - ContainerNodeStructType 378.00 ns/op 420.00 ns/op 0.90
createProof - ContainerType 3.6000 us/op 4.0400 us/op 0.89
createProof - ContainerNodeStructType 19.288 us/op 21.782 us/op 0.89
serialize - ContainerType 1.6410 us/op 1.7210 us/op 0.95
serialize - ContainerNodeStructType 1.3240 us/op 1.5070 us/op 0.88
set_exitEpoch_and_hashTreeRoot - ContainerType 3.9500 us/op 4.2100 us/op 0.94
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 10.902 us/op 11.363 us/op 0.96
Array - for of 5.5160 us/op 8.1760 us/op 0.67
Array - for(;;) 5.4260 us/op 7.1290 us/op 0.76
basicListValue.readonlyValuesArray() 3.7808 ms/op 3.9598 ms/op 0.95
basicListValue.readonlyValuesArray() + loop all 3.9990 ms/op 3.9055 ms/op 1.02
compositeListValue.readonlyValuesArray() 26.681 ms/op 27.427 ms/op 0.97
compositeListValue.readonlyValuesArray() + loop all 28.934 ms/op 23.793 ms/op 1.22
Number64UintType - get balances list 2.1437 ms/op 4.1407 ms/op 0.52
Number64UintType - set balances list 9.5491 ms/op 11.102 ms/op 0.86
Number64UintType - get and increase 10 then set 32.677 ms/op 40.869 ms/op 0.80
Number64UintType - increase 10 using applyDelta 13.317 ms/op 16.686 ms/op 0.80
Number64UintType - increase 10 using applyDeltaInBatch 13.292 ms/op 16.901 ms/op 0.79
tree_newTreeFromUint64Deltas 16.101 ms/op 15.831 ms/op 1.02
unsafeUint8ArrayToTree 25.973 ms/op 29.594 ms/op 0.88
bitLength(50) 221.00 ns/op 228.00 ns/op 0.97
bitLengthStr(50) 209.00 ns/op 246.00 ns/op 0.85
bitLength(8000) 211.00 ns/op 226.00 ns/op 0.93
bitLengthStr(8000) 256.00 ns/op 292.00 ns/op 0.88
bitLength(250000) 215.00 ns/op 228.00 ns/op 0.94
bitLengthStr(250000) 289.00 ns/op 322.00 ns/op 0.90
floor - Math.floor (53) 1.2372 ns/op 0.46599 ns/op 2.65
floor - << 0 (53) 1.2519 ns/op 0.46460 ns/op 2.69
floor - Math.floor (512) 1.2369 ns/op 0.46434 ns/op 2.66
floor - << 0 (512) 1.2393 ns/op 0.46516 ns/op 2.66
fnIf(0) 1.5469 ns/op 1.5477 ns/op 1.00
fnSwitch(0) 2.1650 ns/op 2.4843 ns/op 0.87
fnObj(0) 1.5730 ns/op 0.46509 ns/op 3.38
fnArr(0) 1.5465 ns/op 0.46511 ns/op 3.32
fnIf(4) 2.1934 ns/op 2.1645 ns/op 1.01
fnSwitch(4) 2.1649 ns/op 2.4816 ns/op 0.87
fnObj(4) 1.5524 ns/op 0.46390 ns/op 3.35
fnArr(4) 1.5478 ns/op 0.46552 ns/op 3.32
fnIf(9) 3.0941 ns/op 3.0982 ns/op 1.00
fnSwitch(9) 2.1644 ns/op 2.4740 ns/op 0.87
fnObj(9) 1.5545 ns/op 0.46420 ns/op 3.35
fnArr(9) 1.5504 ns/op 0.46570 ns/op 3.33
Container {a,b,vec} - as struct x100000 123.93 us/op 46.639 us/op 2.66
Container {a,b,vec} - as tree x100000 340.81 us/op 377.59 us/op 0.90
Container {a,vec,b} - as struct x100000 154.93 us/op 77.624 us/op 2.00
Container {a,vec,b} - as tree x100000 371.32 us/op 402.20 us/op 0.92
get 2 props x1000000 - rawObject 309.61 us/op 309.96 us/op 1.00
get 2 props x1000000 - proxy 72.728 ms/op 88.811 ms/op 0.82
get 2 props x1000000 - customObj 310.81 us/op 309.56 us/op 1.00
Simple object binary -> struct 804.00 ns/op 880.00 ns/op 0.91
Simple object binary -> tree_backed 1.5660 us/op 2.4590 us/op 0.64
Simple object struct -> tree_backed 2.1950 us/op 3.1400 us/op 0.70
Simple object tree_backed -> struct 2.1520 us/op 2.4700 us/op 0.87
Simple object struct -> binary 1.1570 us/op 1.2440 us/op 0.93
Simple object tree_backed -> binary 1.6430 us/op 2.1360 us/op 0.77
aggregationBits binary -> struct 606.00 ns/op 883.00 ns/op 0.69
aggregationBits binary -> tree_backed 2.3540 us/op 2.7290 us/op 0.86
aggregationBits struct -> tree_backed 2.7590 us/op 3.1830 us/op 0.87
aggregationBits tree_backed -> struct 1.1800 us/op 1.3260 us/op 0.89
aggregationBits struct -> binary 811.00 ns/op 905.00 ns/op 0.90
aggregationBits tree_backed -> binary 1.0510 us/op 1.1030 us/op 0.95
List(uint8) 100000 binary -> struct 1.2766 ms/op 1.3321 ms/op 0.96
List(uint8) 100000 binary -> tree_backed 83.588 us/op 88.172 us/op 0.95
List(uint8) 100000 struct -> tree_backed 1.1058 ms/op 1.3248 ms/op 0.83
List(uint8) 100000 tree_backed -> struct 962.23 us/op 917.12 us/op 1.05
List(uint8) 100000 struct -> binary 995.54 us/op 1.2295 ms/op 0.81
List(uint8) 100000 tree_backed -> binary 87.831 us/op 82.972 us/op 1.06
List(uint64Number) 100000 binary -> struct 1.1314 ms/op 1.2204 ms/op 0.93
List(uint64Number) 100000 binary -> tree_backed 2.9222 ms/op 3.1955 ms/op 0.91
List(uint64Number) 100000 struct -> tree_backed 4.3559 ms/op 4.6614 ms/op 0.93
List(uint64Number) 100000 tree_backed -> struct 2.0915 ms/op 2.0947 ms/op 1.00
List(uint64Number) 100000 struct -> binary 1.3443 ms/op 1.4316 ms/op 0.94
List(uint64Number) 100000 tree_backed -> binary 854.19 us/op 809.14 us/op 1.06
List(Uint64Bigint) 100000 binary -> struct 3.7163 ms/op 3.3674 ms/op 1.10
List(Uint64Bigint) 100000 binary -> tree_backed 2.8728 ms/op 2.9971 ms/op 0.96
List(Uint64Bigint) 100000 struct -> tree_backed 5.2249 ms/op 5.1206 ms/op 1.02
List(Uint64Bigint) 100000 tree_backed -> struct 4.3239 ms/op 4.4615 ms/op 0.97
List(Uint64Bigint) 100000 struct -> binary 2.0411 ms/op 2.0405 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 916.98 us/op 811.48 us/op 1.13
Vector(Root) 100000 binary -> struct 28.551 ms/op 28.394 ms/op 1.01
Vector(Root) 100000 binary -> tree_backed 28.781 ms/op 32.532 ms/op 0.88
Vector(Root) 100000 struct -> tree_backed 35.616 ms/op 35.697 ms/op 1.00
Vector(Root) 100000 tree_backed -> struct 43.270 ms/op 43.923 ms/op 0.99
Vector(Root) 100000 struct -> binary 2.5498 ms/op 1.8683 ms/op 1.36
Vector(Root) 100000 tree_backed -> binary 8.4514 ms/op 9.9326 ms/op 0.85
List(Validator) 100000 binary -> struct 92.828 ms/op 101.98 ms/op 0.91
List(Validator) 100000 binary -> tree_backed 253.60 ms/op 282.34 ms/op 0.90
List(Validator) 100000 struct -> tree_backed 287.97 ms/op 292.96 ms/op 0.98
List(Validator) 100000 tree_backed -> struct 188.53 ms/op 199.31 ms/op 0.95
List(Validator) 100000 struct -> binary 28.027 ms/op 30.643 ms/op 0.91
List(Validator) 100000 tree_backed -> binary 100.05 ms/op 98.934 ms/op 1.01
List(Validator-NS) 100000 binary -> struct 90.165 ms/op 102.31 ms/op 0.88
List(Validator-NS) 100000 binary -> tree_backed 127.50 ms/op 156.57 ms/op 0.81
List(Validator-NS) 100000 struct -> tree_backed 169.62 ms/op 191.76 ms/op 0.88
List(Validator-NS) 100000 tree_backed -> struct 141.60 ms/op 154.29 ms/op 0.92
List(Validator-NS) 100000 struct -> binary 28.043 ms/op 31.075 ms/op 0.90
List(Validator-NS) 100000 tree_backed -> binary 31.421 ms/op 35.971 ms/op 0.87
get epochStatuses - MutableVector 92.560 us/op 94.825 us/op 0.98
get epochStatuses - ViewDU 182.15 us/op 203.21 us/op 0.90
set epochStatuses - ListTreeView 1.4021 ms/op 1.3908 ms/op 1.01
set epochStatuses - ListTreeView - set() 454.69 us/op 433.07 us/op 1.05
set epochStatuses - ListTreeView - commit() 439.14 us/op 416.37 us/op 1.05
bitstring 636.36 ns/op 647.69 ns/op 0.98
bit mask 13.900 ns/op 13.699 ns/op 1.01
struct - increase slot to 1000000 929.27 us/op 927.60 us/op 1.00
UintNumberType - increase slot to 1000000 28.871 ms/op 28.524 ms/op 1.01
UintBigintType - increase slot to 1000000 157.96 ms/op 445.10 ms/op 0.35
UintBigint8 x 100000 tree_deserialize 4.5121 ms/op 5.5845 ms/op 0.81
UintBigint8 x 100000 tree_serialize 536.75 us/op 1.1846 ms/op 0.45
UintBigint16 x 100000 tree_deserialize 4.5938 ms/op 5.6496 ms/op 0.81
UintBigint16 x 100000 tree_serialize 602.53 us/op 1.2357 ms/op 0.49
UintBigint32 x 100000 tree_deserialize 4.7233 ms/op 5.7431 ms/op 0.82
UintBigint32 x 100000 tree_serialize 623.19 us/op 1.2368 ms/op 0.50
UintBigint64 x 100000 tree_deserialize 5.3176 ms/op 6.4471 ms/op 0.82
UintBigint64 x 100000 tree_serialize 1.4321 ms/op 1.6473 ms/op 0.87
UintBigint8 x 100000 value_deserialize 433.04 us/op 433.38 us/op 1.00
UintBigint8 x 100000 value_serialize 775.14 us/op 614.63 us/op 1.26
UintBigint16 x 100000 value_deserialize 464.71 us/op 463.93 us/op 1.00
UintBigint16 x 100000 value_serialize 840.52 us/op 651.98 us/op 1.29
UintBigint32 x 100000 value_deserialize 433.21 us/op 433.19 us/op 1.00
UintBigint32 x 100000 value_serialize 818.78 us/op 652.73 us/op 1.25
UintBigint64 x 100000 value_deserialize 497.11 us/op 465.05 us/op 1.07
UintBigint64 x 100000 value_serialize 990.19 us/op 822.77 us/op 1.20
UintBigint8 x 100000 deserialize 2.9459 ms/op 4.7750 ms/op 0.62
UintBigint8 x 100000 serialize 1.5318 ms/op 1.4649 ms/op 1.05
UintBigint16 x 100000 deserialize 2.9351 ms/op 4.7399 ms/op 0.62
UintBigint16 x 100000 serialize 1.5076 ms/op 1.5099 ms/op 1.00
UintBigint32 x 100000 deserialize 2.9384 ms/op 5.5632 ms/op 0.53
UintBigint32 x 100000 serialize 2.7160 ms/op 2.8412 ms/op 0.96
UintBigint64 x 100000 deserialize 3.6665 ms/op 3.8645 ms/op 0.95
UintBigint64 x 100000 serialize 1.4977 ms/op 1.4908 ms/op 1.00
UintBigint128 x 100000 deserialize 4.8635 ms/op 5.9020 ms/op 0.82
UintBigint128 x 100000 serialize 14.213 ms/op 16.932 ms/op 0.84
UintBigint256 x 100000 deserialize 7.6410 ms/op 10.994 ms/op 0.70
UintBigint256 x 100000 serialize 41.359 ms/op 50.243 ms/op 0.82
Slice from Uint8Array x25000 1.1081 ms/op 1.0019 ms/op 1.11
Slice from ArrayBuffer x25000 15.724 ms/op 16.878 ms/op 0.93
Slice from ArrayBuffer x25000 + new Uint8Array 14.963 ms/op 19.369 ms/op 0.77
Copy Uint8Array 100000 iterate 1.6475 ms/op 825.74 us/op 2.00
Copy Uint8Array 100000 slice 123.74 us/op 91.124 us/op 1.36
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 125.81 us/op 92.262 us/op 1.36
Copy Buffer 100000 Uint8Array.prototype.slice.call 125.90 us/op 91.656 us/op 1.37
Copy Uint8Array 100000 slice + set 199.84 us/op 149.16 us/op 1.34
Copy Uint8Array 100000 subarray + set 124.77 us/op 92.838 us/op 1.34
Copy Uint8Array 100000 slice arrayBuffer 125.20 us/op 91.937 us/op 1.36
Uint64 deserialize 100000 - iterate Uint8Array 1.7169 ms/op 1.7640 ms/op 0.97
Uint64 deserialize 100000 - by Uint32A 1.7627 ms/op 1.6971 ms/op 1.04
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.7708 ms/op 1.6968 ms/op 1.04
Uint64 deserialize 100000 - by DataView.getBigUint64 4.7065 ms/op 4.8651 ms/op 0.97
Uint64 deserialize 100000 - by byte 40.153 ms/op 65.100 ms/op 0.62

by benchmarkbot/action

@ensi321 ensi321 marked this pull request as ready for review April 30, 2024 07:12
.github/workflows/test.yml Outdated Show resolved Hide resolved
Co-authored-by: tuyennhv <vutuyen2636@gmail.com>
Copy link
Member

@matthewkeil matthewkeil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🎸

.github/workflows/test.yml Show resolved Hide resolved
@ensi321 ensi321 merged commit 04816d4 into master May 2, 2024
8 checks passed
@ensi321 ensi321 deleted the nc/bump-version branch May 2, 2024 09:38
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.

None yet

4 participants