Skip to content

chore: replace lerna usage with pnpm#508

Merged
wemeetagain merged 4 commits intomasterfrom
nh/remove-lerna-dep
Dec 1, 2025
Merged

chore: replace lerna usage with pnpm#508
wemeetagain merged 4 commits intomasterfrom
nh/remove-lerna-dep

Conversation

@nazarhussain
Copy link
Copy Markdown
Contributor

Motivation

Reduce the dependencies as much possible. Removing it reduces 391 packages.

$ pnpm i 
Packages: -391

With Lerna

pnpm ls -r --depth Infinity --parseable | wc -l 
    1085

Without Lerna

pnpm ls -r --depth Infinity --parseable | wc -l 
     685

Description

  • Remove the lerna dependency
  • Update publish workflow

Steps to test or reproduce

  • Run all tests

wemeetagain
wemeetagain previously approved these changes Dec 1, 2025
Copy link
Copy Markdown
Member

@wemeetagain wemeetagain 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-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 1, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: fc90aaa Previous: d72d7af Ratio
digestTwoHashObjects 50023 times 48.387 ms/op 48.160 ms/op 1.00
digest2Bytes32 50023 times 55.130 ms/op 54.489 ms/op 1.01
digest 50023 times 53.072 ms/op 53.549 ms/op 0.99
input length 32 1.2310 us/op 1.2380 us/op 0.99
input length 64 1.3770 us/op 1.4160 us/op 0.97
input length 128 2.3440 us/op 2.3200 us/op 1.01
input length 256 3.4430 us/op 3.4040 us/op 1.01
input length 512 5.6910 us/op 5.5440 us/op 1.03
input length 1024 10.953 us/op 10.679 us/op 1.03
digest 1000000 times 873.65 ms/op 870.52 ms/op 1.00
hashObjectToByteArray 50023 times 934.46 us/op 935.57 us/op 1.00
byteArrayToHashObject 50023 times 1.3660 ms/op 1.4223 ms/op 0.96
digest64 200092 times 216.07 ms/op 214.78 ms/op 1.01
hash 200092 times using batchHash4UintArray64s 239.18 ms/op 235.23 ms/op 1.02
digest64HashObjects 200092 times 193.73 ms/op 192.40 ms/op 1.01
hash 200092 times using batchHash4HashObjectInputs 203.42 ms/op 193.40 ms/op 1.05
getGindicesAtDepth 3.7810 us/op 3.8620 us/op 0.98
iterateAtDepth 6.5670 us/op 7.0170 us/op 0.94
getGindexBits 445.00 ns/op 496.00 ns/op 0.90
gindexIterator 908.00 ns/op 977.00 ns/op 0.93
HashComputationLevel.push then loop 28.085 ms/op 29.129 ms/op 0.96
HashComputation[] push then loop 50.762 ms/op 51.377 ms/op 0.99
hash 2 32 bytes Uint8Array 500000 times - hashtree 149.97 ms/op 149.81 ms/op 1.00
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.443 ms/op 24.616 ms/op 0.99
hashTwoObjects 500000 times - hashtree 177.72 ms/op 168.87 ms/op 1.05
executeHashComputations - hashtree 9.7587 ms/op 9.2854 ms/op 1.05
hash 2 32 bytes Uint8Array 500000 times - as-sha256 498.63 ms/op 492.00 ms/op 1.01
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 543.57 ms/op 549.49 ms/op 0.99
hashTwoObjects 500000 times - as-sha256 508.93 ms/op 513.15 ms/op 0.99
executeHashComputations - as-sha256 46.914 ms/op 47.492 ms/op 0.99
hash 2 32 bytes Uint8Array 500000 times - noble 1.2714 s/op 1.3382 s/op 0.95
batch hash 16 x 64 Uint8Array 31250 times - noble 1.2152 s/op 1.2698 s/op 0.96
hashTwoObjects 500000 times - noble 1.6523 s/op 1.6079 s/op 1.03
executeHashComputations - noble 36.448 ms/op 36.878 ms/op 0.99
getHashComputations 2.6759 ms/op 2.1118 ms/op 1.27
executeHashComputations 9.6230 ms/op 9.8063 ms/op 0.98
get root 12.877 ms/op 12.869 ms/op 1.00
getNodeH() x7812.5 avg hindex 12.152 us/op 12.108 us/op 1.00
getNodeH() x7812.5 index 0 7.6630 us/op 7.5920 us/op 1.01
getNodeH() x7812.5 index 7 7.6070 us/op 7.4720 us/op 1.02
getNodeH() x7812.5 index 7 with key array 6.2560 us/op 6.3280 us/op 0.99
new LeafNode() x7812.5 378.10 us/op 397.16 us/op 0.95
getHashComputations 250000 nodes 15.720 ms/op 15.211 ms/op 1.03
batchHash 250000 nodes 94.116 ms/op 89.678 ms/op 1.05
get root 250000 nodes 95.434 ms/op 95.667 ms/op 1.00
getHashComputations 500000 nodes 30.495 ms/op 32.551 ms/op 0.94
batchHash 500000 nodes 169.23 ms/op 164.15 ms/op 1.03
get root 500000 nodes 190.79 ms/op 190.21 ms/op 1.00
getHashComputations 1000000 nodes 68.819 ms/op 62.407 ms/op 1.10
batchHash 1000000 nodes 342.80 ms/op 326.05 ms/op 1.05
get root 1000000 nodes 382.41 ms/op 386.50 ms/op 0.99
multiproof - depth 15, 1 requested leaves 8.4610 us/op 10.057 us/op 0.84
tree offset multiproof - depth 15, 1 requested leaves 18.559 us/op 22.144 us/op 0.84
compact multiproof - depth 15, 1 requested leaves 4.2040 us/op 6.1620 us/op 0.68
multiproof - depth 15, 2 requested leaves 12.348 us/op 14.434 us/op 0.86
tree offset multiproof - depth 15, 2 requested leaves 23.209 us/op 25.315 us/op 0.92
compact multiproof - depth 15, 2 requested leaves 4.5410 us/op 5.7260 us/op 0.79
multiproof - depth 15, 3 requested leaves 18.212 us/op 19.732 us/op 0.92
tree offset multiproof - depth 15, 3 requested leaves 30.831 us/op 33.318 us/op 0.93
compact multiproof - depth 15, 3 requested leaves 5.3730 us/op 6.3500 us/op 0.85
multiproof - depth 15, 4 requested leaves 23.492 us/op 26.191 us/op 0.90
tree offset multiproof - depth 15, 4 requested leaves 38.063 us/op 40.220 us/op 0.95
compact multiproof - depth 15, 4 requested leaves 5.0830 us/op 5.8380 us/op 0.87
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.8930 us/op 7.3580 us/op 0.94
packedRootsBytesToLeafNodes bytes 4000 offset 1 7.3180 us/op 8.3720 us/op 0.87
packedRootsBytesToLeafNodes bytes 4000 offset 2 7.6010 us/op 8.2830 us/op 0.92
packedRootsBytesToLeafNodes bytes 4000 offset 3 7.5780 us/op 7.5990 us/op 1.00
subtreeFillToContents depth 40 count 250000 49.968 ms/op 46.054 ms/op 1.08
setRoot - gindexBitstring 31.219 ms/op 22.261 ms/op 1.40
setRoot - gindex 30.776 ms/op 23.972 ms/op 1.28
getRoot - gindexBitstring 2.9890 ms/op 2.8778 ms/op 1.04
getRoot - gindex 3.6213 ms/op 3.4230 ms/op 1.06
getHashObject then setHashObject 32.677 ms/op 27.239 ms/op 1.20
setNodeWithFn 30.391 ms/op 23.940 ms/op 1.27
getNodeAtDepth depth 0 x100000 280.24 us/op 280.06 us/op 1.00
setNodeAtDepth depth 0 x100000 4.6053 ms/op 2.6853 ms/op 1.72
getNodesAtDepth depth 0 x100000 312.13 us/op 313.47 us/op 1.00
setNodesAtDepth depth 0 x100000 757.75 us/op 757.53 us/op 1.00
getNodeAtDepth depth 1 x100000 342.31 us/op 342.17 us/op 1.00
setNodeAtDepth depth 1 x100000 13.764 ms/op 8.5456 ms/op 1.61
getNodesAtDepth depth 1 x100000 436.56 us/op 436.59 us/op 1.00
setNodesAtDepth depth 1 x100000 10.385 ms/op 7.9261 ms/op 1.31
getNodeAtDepth depth 2 x100000 742.66 us/op 741.70 us/op 1.00
setNodeAtDepth depth 2 x100000 22.136 ms/op 21.093 ms/op 1.05
getNodesAtDepth depth 2 x100000 22.118 ms/op 23.231 ms/op 0.95
setNodesAtDepth depth 2 x100000 32.745 ms/op 28.692 ms/op 1.14
tree.getNodesAtDepth - gindexes 11.027 ms/op 9.3591 ms/op 1.18
tree.getNodesAtDepth - push all nodes 2.1235 ms/op 2.4237 ms/op 0.88
tree.getNodesAtDepth - navigation 313.49 us/op 311.71 us/op 1.01
tree.setNodesAtDepth - indexes 828.24 us/op 817.37 us/op 1.01
set at depth 8 974.00 ns/op 1.0070 us/op 0.97
set at depth 16 1.1130 us/op 1.1590 us/op 0.96
set at depth 32 2.3680 us/op 2.4110 us/op 0.98
iterateNodesAtDepth 8 256 15.290 us/op 15.666 us/op 0.98
getNodesAtDepth 8 256 3.7970 us/op 3.9700 us/op 0.96
iterateNodesAtDepth 16 65536 4.5424 ms/op 5.0223 ms/op 0.90
getNodesAtDepth 16 65536 1.1598 ms/op 1.2176 ms/op 0.95
iterateNodesAtDepth 32 250000 16.363 ms/op 17.792 ms/op 0.92
getNodesAtDepth 32 250000 5.1234 ms/op 6.5170 ms/op 0.79
iterateNodesAtDepth 40 250000 16.539 ms/op 18.161 ms/op 0.91
getNodesAtDepth 40 250000 5.5836 ms/op 5.6711 ms/op 0.98
250000 validators root getter 96.054 ms/op 96.258 ms/op 1.00
250000 validators batchHash() 91.332 ms/op 109.61 ms/op 0.83
250000 validators hashComputations 15.559 ms/op 15.710 ms/op 0.99
bitlist bytes to struct (120,90) 552.00 ns/op 583.00 ns/op 0.95
bitlist bytes to tree (120,90) 2.1660 us/op 2.5020 us/op 0.87
bitlist bytes to struct (2048,2048) 899.00 ns/op 962.00 ns/op 0.93
bitlist bytes to tree (2048,2048) 3.6470 us/op 4.0600 us/op 0.90
ByteListType - deserialize 9.6031 ms/op 10.781 ms/op 0.89
BasicListType - deserialize 9.7936 ms/op 10.778 ms/op 0.91
ByteListType - serialize 9.5260 ms/op 10.179 ms/op 0.94
BasicListType - serialize 11.455 ms/op 13.883 ms/op 0.83
BasicListType - tree_convertToStruct 22.280 ms/op 27.454 ms/op 0.81
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.4464 ms/op 7.2276 ms/op 0.62
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3876 ms/op 4.3747 ms/op 1.00
Array.push len 300000 empty Array - number 5.9730 ms/op 8.0763 ms/op 0.74
Array.set len 300000 from new Array - number 1.8636 ms/op 3.5419 ms/op 0.53
Array.set len 300000 - number 6.3783 ms/op 7.7090 ms/op 0.83
Uint8Array.set len 300000 394.35 us/op 410.19 us/op 0.96
Uint32Array.set len 300000 486.83 us/op 544.31 us/op 0.89
Container({a: uint8, b: uint8}) getViewDU x300000 29.870 ms/op 33.975 ms/op 0.88
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.819 ms/op 12.071 ms/op 0.90
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 228.79 ms/op 213.91 ms/op 1.07
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 269.59 ms/op 302.48 ms/op 0.89
List(Container) len 300000 ViewDU.get(i) 7.1999 ms/op 11.244 ms/op 0.64
List(Container) len 300000 ViewDU.getReadonly(i) 7.0341 ms/op 11.147 ms/op 0.63
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 38.856 ms/op 38.486 ms/op 1.01
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.4178 ms/op 6.5003 ms/op 0.83
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.3055 ms/op 10.745 ms/op 0.59
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.4178 ms/op 11.691 ms/op 0.55
Array.push len 300000 empty Array - object 7.1248 ms/op 7.2553 ms/op 0.98
Array.set len 300000 from new Array - object 2.1317 ms/op 2.2544 ms/op 0.95
Array.set len 300000 - object 6.9161 ms/op 6.8189 ms/op 1.01
cachePermanentRootStruct no cache 3.3640 us/op 3.4130 us/op 0.99
cachePermanentRootStruct with cache 179.00 ns/op 193.00 ns/op 0.93
epochParticipation len 250000 rws 7813 2.5052 ms/op 2.3787 ms/op 1.05
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.9891 ms/op 5.0891 ms/op 0.98
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 222.55 ms/op 229.08 ms/op 0.97
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 183.08 ms/op 188.44 ms/op 0.97
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 49.196 ms/op 54.197 ms/op 0.91
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 732.82 ms/op 724.57 ms/op 1.01
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 71.966 ms/op 67.030 ms/op 1.07
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 285.56 ms/op 277.02 ms/op 1.03
deserialize Attestation - tree 4.1240 us/op 4.5470 us/op 0.91
deserialize Attestation - struct 2.2000 us/op 2.3710 us/op 0.93
deserialize Attestation - struct (reuse bytes) 1.5360 us/op 1.5820 us/op 0.97
deserialize SignedAggregateAndProof - tree 5.0120 us/op 5.0020 us/op 1.00
deserialize SignedAggregateAndProof - struct 3.3800 us/op 3.1150 us/op 1.09
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.9070 us/op 1.8750 us/op 1.02
deserialize SyncCommitteeMessage - tree 1.6030 us/op 1.4940 us/op 1.07
deserialize SyncCommitteeMessage - struct 1.2160 us/op 1.1230 us/op 1.08
deserialize SyncCommitteeMessage - struct (reuse bytes) 777.00 ns/op 767.00 ns/op 1.01
deserialize SignedContributionAndProof - tree 2.9400 us/op 2.8610 us/op 1.03
deserialize SignedContributionAndProof - struct 2.5120 us/op 2.6970 us/op 0.93
deserialize SignedContributionAndProof - struct (reuse bytes) 1.3220 us/op 1.3800 us/op 0.96
deserialize SignedBeaconBlock - tree 283.35 us/op 283.08 us/op 1.00
deserialize SignedBeaconBlock - struct 127.49 us/op 133.15 us/op 0.96
deserialize SignedBeaconBlock - struct (reuse bytes) 78.475 us/op 88.875 us/op 0.88
BeaconState vc 300000 - deserialize tree 683.07 ms/op 684.15 ms/op 1.00
BeaconState vc 300000 - serialize tree 86.697 ms/op 103.33 ms/op 0.84
BeaconState.historicalRoots vc 300000 - deserialize tree 1.0760 us/op 1.0210 us/op 1.05
BeaconState.historicalRoots vc 300000 - serialize tree 702.00 ns/op 725.00 ns/op 0.97
BeaconState.validators vc 300000 - deserialize tree 663.88 ms/op 631.64 ms/op 1.05
BeaconState.validators vc 300000 - serialize tree 40.429 ms/op 39.358 ms/op 1.03
BeaconState.balances vc 300000 - deserialize tree 28.199 ms/op 29.264 ms/op 0.96
BeaconState.balances vc 300000 - serialize tree 7.5217 ms/op 4.1704 ms/op 1.80
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.4108 ms/op 1.0203 ms/op 1.38
BeaconState.previousEpochParticipation vc 300000 - serialize tree 352.32 us/op 330.22 us/op 1.07
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.3311 ms/op 1.0971 ms/op 1.21
BeaconState.currentEpochParticipation vc 300000 - serialize tree 345.37 us/op 336.26 us/op 1.03
BeaconState.inactivityScores vc 300000 - deserialize tree 30.436 ms/op 26.541 ms/op 1.15
BeaconState.inactivityScores vc 300000 - serialize tree 5.9502 ms/op 4.8256 ms/op 1.23
hashTreeRoot Attestation - struct 12.021 us/op 10.767 us/op 1.12
hashTreeRoot Attestation - tree 7.7200 us/op 7.4950 us/op 1.03
hashTreeRoot SignedAggregateAndProof - struct 13.314 us/op 12.913 us/op 1.03
hashTreeRoot SignedAggregateAndProof - tree 11.321 us/op 11.211 us/op 1.01
hashTreeRoot SyncCommitteeMessage - struct 3.3180 us/op 3.2060 us/op 1.03
hashTreeRoot SyncCommitteeMessage - tree 2.9230 us/op 2.7590 us/op 1.06
hashTreeRoot SignedContributionAndProof - struct 8.0890 us/op 7.9870 us/op 1.01
hashTreeRoot SignedContributionAndProof - tree 7.9610 us/op 7.6650 us/op 1.04
hashTreeRoot SignedBeaconBlock - struct 791.78 us/op 775.82 us/op 1.02
hashTreeRoot SignedBeaconBlock - tree 679.33 us/op 666.61 us/op 1.02
hashTreeRoot Validator - struct 4.6110 us/op 4.7350 us/op 0.97
hashTreeRoot Validator - tree 5.9500 us/op 5.8830 us/op 1.01
BeaconState vc 300000 - hashTreeRoot tree 2.0672 s/op 2.0427 s/op 1.01
BeaconState vc 300000 - batchHashTreeRoot tree 4.1429 s/op 4.0475 s/op 1.02
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 858.00 ns/op 849.00 ns/op 1.01
BeaconState.validators vc 300000 - hashTreeRoot tree 2.2527 s/op 2.2373 s/op 1.01
BeaconState.balances vc 300000 - hashTreeRoot tree 28.700 ms/op 28.495 ms/op 1.01
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.5778 ms/op 3.5357 ms/op 1.01
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.5728 ms/op 3.5547 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 30.648 ms/op 30.715 ms/op 1.00
hash64 x18 8.4760 us/op 8.7940 us/op 0.96
hashTwoObjects x18 6.7010 us/op 6.7640 us/op 0.99
hash64 x1740 779.45 us/op 776.19 us/op 1.00
hashTwoObjects x1740 609.87 us/op 593.11 us/op 1.03
hash64 x2700000 1.1909 s/op 1.2053 s/op 0.99
hashTwoObjects x2700000 953.30 ms/op 925.92 ms/op 1.03
get_exitEpoch - ContainerType 291.00 ns/op 313.00 ns/op 0.93
get_exitEpoch - ContainerNodeStructType 267.00 ns/op 272.00 ns/op 0.98
set_exitEpoch - ContainerType 271.00 ns/op 288.00 ns/op 0.94
set_exitEpoch - ContainerNodeStructType 274.00 ns/op 294.00 ns/op 0.93
get_pubkey - ContainerType 1.0980 us/op 1.1520 us/op 0.95
get_pubkey - ContainerNodeStructType 232.00 ns/op 289.00 ns/op 0.80
hashTreeRoot - ContainerType 586.00 ns/op 607.00 ns/op 0.97
hashTreeRoot - ContainerNodeStructType 573.00 ns/op 587.00 ns/op 0.98
createProof - ContainerType 4.5430 us/op 4.5520 us/op 1.00
createProof - ContainerNodeStructType 24.199 us/op 24.124 us/op 1.00
serialize - ContainerType 2.0130 us/op 2.0860 us/op 0.97
serialize - ContainerNodeStructType 1.5600 us/op 1.5060 us/op 1.04
set_exitEpoch_and_hashTreeRoot - ContainerType 2.8810 us/op 2.8560 us/op 1.01
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.4430 us/op 7.4420 us/op 1.00
doBatchHashTreeRootValidators 3.6770 us/op 3.8090 us/op 0.97
ContainerNodeStructViewDU hashTreeRoot 24.939 us/op 25.166 us/op 0.99
Array - for of 5.7370 us/op 6.3560 us/op 0.90
Array - for(;;) 5.4690 us/op 6.2300 us/op 0.88
basicListValue.readonlyValuesArray() 3.7077 ms/op 4.2670 ms/op 0.87
basicListValue.readonlyValuesArray() + loop all 3.8795 ms/op 8.3841 ms/op 0.46
compositeListValue.readonlyValuesArray() 32.107 ms/op 32.153 ms/op 1.00
compositeListValue.readonlyValuesArray() + loop all 32.695 ms/op 32.003 ms/op 1.02
Number64UintType - get balances list 4.8979 ms/op 5.3445 ms/op 0.92
Number64UintType - set balances list 10.100 ms/op 10.372 ms/op 0.97
Number64UintType - get and increase 10 then set 43.462 ms/op 41.017 ms/op 1.06
Number64UintType - increase 10 using applyDelta 17.499 ms/op 15.045 ms/op 1.16
Number64UintType - increase 10 using applyDeltaInBatch 17.270 ms/op 14.805 ms/op 1.17
tree_newTreeFromUint64Deltas 24.313 ms/op 23.899 ms/op 1.02
unsafeUint8ArrayToTree 40.734 ms/op 40.129 ms/op 1.02
bitLength(50) 283.00 ns/op 296.00 ns/op 0.96
bitLengthStr(50) 229.00 ns/op 279.00 ns/op 0.82
bitLength(8000) 275.00 ns/op 300.00 ns/op 0.92
bitLengthStr(8000) 318.00 ns/op 328.00 ns/op 0.97
bitLength(250000) 258.00 ns/op 284.00 ns/op 0.91
bitLengthStr(250000) 307.00 ns/op 344.00 ns/op 0.89
merkleize 32 chunks 13.751 us/op 13.952 us/op 0.99
merkleizeBlocksBytes 32 chunks 3.2600 us/op 3.3070 us/op 0.99
merkleizeBlockArray 32 chunks 6.4110 us/op 6.4630 us/op 0.99
merkleize 128 chunks 52.968 us/op 54.313 us/op 0.98
merkleizeBlocksBytes 128 chunks 7.4880 us/op 7.4190 us/op 1.01
merkleizeBlockArray 128 chunks 18.144 us/op 18.173 us/op 1.00
merkleize 512 chunks 208.62 us/op 216.14 us/op 0.97
merkleizeBlocksBytes 512 chunks 22.643 us/op 22.382 us/op 1.01
merkleizeBlockArray 512 chunks 61.799 us/op 62.646 us/op 0.99
merkleize 1024 chunks 419.88 us/op 433.13 us/op 0.97
merkleizeBlocksBytes 1024 chunks 43.034 us/op 42.587 us/op 1.01
merkleizeBlockArray 1024 chunks 119.53 us/op 120.51 us/op 0.99
floor - Math.floor (53) 1.2483 ns/op 1.2440 ns/op 1.00
floor - << 0 (53) 1.2453 ns/op 1.2443 ns/op 1.00
floor - Math.floor (512) 1.2461 ns/op 1.2434 ns/op 1.00
floor - << 0 (512) 1.2444 ns/op 1.2436 ns/op 1.00
fnIf(0) 1.5544 ns/op 1.5556 ns/op 1.00
fnSwitch(0) 2.1768 ns/op 2.1763 ns/op 1.00
fnObj(0) 1.5552 ns/op 1.5563 ns/op 1.00
fnArr(0) 1.5550 ns/op 1.5577 ns/op 1.00
fnIf(4) 2.1779 ns/op 2.1796 ns/op 1.00
fnSwitch(4) 2.1811 ns/op 2.1750 ns/op 1.00
fnObj(4) 1.5551 ns/op 1.5651 ns/op 0.99
fnArr(4) 1.5543 ns/op 1.5560 ns/op 1.00
fnIf(9) 3.1105 ns/op 3.1083 ns/op 1.00
fnSwitch(9) 2.1765 ns/op 2.1774 ns/op 1.00
fnObj(9) 1.5545 ns/op 1.5579 ns/op 1.00
fnArr(9) 1.5553 ns/op 1.5554 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.64 us/op 124.70 us/op 1.00
Container {a,b,vec} - as tree x100000 560.18 us/op 546.21 us/op 1.03
Container {a,vec,b} - as struct x100000 155.76 us/op 156.08 us/op 1.00
Container {a,vec,b} - as tree x100000 559.78 us/op 560.92 us/op 1.00
get 2 props x1000000 - rawObject 312.17 us/op 311.79 us/op 1.00
get 2 props x1000000 - proxy 73.744 ms/op 73.307 ms/op 1.01
get 2 props x1000000 - customObj 311.83 us/op 311.33 us/op 1.00
Simple object binary -> struct 635.00 ns/op 646.00 ns/op 0.98
Simple object binary -> tree_backed 1.7420 us/op 1.8420 us/op 0.95
Simple object struct -> tree_backed 2.5210 us/op 2.6830 us/op 0.94
Simple object tree_backed -> struct 1.7990 us/op 1.7660 us/op 1.02
Simple object struct -> binary 964.00 ns/op 1.0610 us/op 0.91
Simple object tree_backed -> binary 1.4410 us/op 1.4480 us/op 1.00
aggregationBits binary -> struct 549.00 ns/op 544.00 ns/op 1.01
aggregationBits binary -> tree_backed 2.4830 us/op 2.3070 us/op 1.08
aggregationBits struct -> tree_backed 3.1440 us/op 3.0610 us/op 1.03
aggregationBits tree_backed -> struct 1.2420 us/op 1.1540 us/op 1.08
aggregationBits struct -> binary 870.00 ns/op 745.00 ns/op 1.17
aggregationBits tree_backed -> binary 978.00 ns/op 885.00 ns/op 1.11
List(uint8) 100000 binary -> struct 953.52 us/op 998.26 us/op 0.96
List(uint8) 100000 binary -> tree_backed 307.76 us/op 310.33 us/op 0.99
List(uint8) 100000 struct -> tree_backed 1.4211 ms/op 1.4153 ms/op 1.00
List(uint8) 100000 tree_backed -> struct 1.0294 ms/op 1.0023 ms/op 1.03
List(uint8) 100000 struct -> binary 1.0721 ms/op 1.0714 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 114.02 us/op 110.99 us/op 1.03
List(uint64Number) 100000 binary -> struct 1.5375 ms/op 1.5490 ms/op 0.99
List(uint64Number) 100000 binary -> tree_backed 5.5316 ms/op 5.2416 ms/op 1.06
List(uint64Number) 100000 struct -> tree_backed 7.3569 ms/op 7.1433 ms/op 1.03
List(uint64Number) 100000 tree_backed -> struct 2.7207 ms/op 2.8059 ms/op 0.97
List(uint64Number) 100000 struct -> binary 1.5075 ms/op 1.4988 ms/op 1.01
List(uint64Number) 100000 tree_backed -> binary 1.7991 ms/op 2.0760 ms/op 0.87
List(Uint64Bigint) 100000 binary -> struct 4.2607 ms/op 4.2864 ms/op 0.99
List(Uint64Bigint) 100000 binary -> tree_backed 5.0448 ms/op 5.5267 ms/op 0.91
List(Uint64Bigint) 100000 struct -> tree_backed 7.6014 ms/op 7.6329 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> struct 5.7816 ms/op 6.1674 ms/op 0.94
List(Uint64Bigint) 100000 struct -> binary 2.2177 ms/op 2.1359 ms/op 1.04
List(Uint64Bigint) 100000 tree_backed -> binary 1.3811 ms/op 2.3951 ms/op 0.58
Vector(Root) 100000 binary -> struct 35.064 ms/op 36.689 ms/op 0.96
Vector(Root) 100000 binary -> tree_backed 40.928 ms/op 40.005 ms/op 1.02
Vector(Root) 100000 struct -> tree_backed 51.076 ms/op 51.879 ms/op 0.98
Vector(Root) 100000 tree_backed -> struct 51.831 ms/op 52.032 ms/op 1.00
Vector(Root) 100000 struct -> binary 3.2248 ms/op 3.1457 ms/op 1.03
Vector(Root) 100000 tree_backed -> binary 7.4590 ms/op 7.9027 ms/op 0.94
List(Validator) 100000 binary -> struct 112.12 ms/op 123.65 ms/op 0.91
List(Validator) 100000 binary -> tree_backed 356.72 ms/op 386.88 ms/op 0.92
List(Validator) 100000 struct -> tree_backed 383.23 ms/op 404.48 ms/op 0.95
List(Validator) 100000 tree_backed -> struct 224.01 ms/op 222.65 ms/op 1.01
List(Validator) 100000 struct -> binary 29.284 ms/op 30.539 ms/op 0.96
List(Validator) 100000 tree_backed -> binary 111.62 ms/op 117.85 ms/op 0.95
List(Validator-NS) 100000 binary -> struct 120.38 ms/op 124.32 ms/op 0.97
List(Validator-NS) 100000 binary -> tree_backed 173.84 ms/op 180.13 ms/op 0.97
List(Validator-NS) 100000 struct -> tree_backed 201.43 ms/op 200.81 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> struct 159.81 ms/op 160.09 ms/op 1.00
List(Validator-NS) 100000 struct -> binary 7.9372 ms/op 7.7603 ms/op 1.02
List(Validator-NS) 100000 tree_backed -> binary 12.922 ms/op 15.356 ms/op 0.84
get epochStatuses - MutableVector 99.295 us/op 101.03 us/op 0.98
get epochStatuses - ViewDU 206.97 us/op 172.18 us/op 1.20
set epochStatuses - ListTreeView 2.2028 ms/op 2.2076 ms/op 1.00
set epochStatuses - ListTreeView - set() 442.89 us/op 439.74 us/op 1.01
set epochStatuses - ListTreeView - commit() 857.50 us/op 891.57 us/op 0.96
bitstring 519.42 ns/op 524.64 ns/op 0.99
bit mask 14.013 ns/op 13.891 ns/op 1.01
struct - increase slot to 1000000 933.25 us/op 932.99 us/op 1.00
UintNumberType - increase slot to 1000000 27.733 ms/op 27.716 ms/op 1.00
UintBigintType - increase slot to 1000000 190.22 ms/op 204.66 ms/op 0.93
UintBigint8 x 100000 tree_deserialize 6.4046 ms/op 6.2909 ms/op 1.02
UintBigint8 x 100000 tree_serialize 1.1287 ms/op 613.01 us/op 1.84
UintBigint16 x 100000 tree_deserialize 7.1159 ms/op 6.9530 ms/op 1.02
UintBigint16 x 100000 tree_serialize 1.4441 ms/op 1.7783 ms/op 0.81
UintBigint32 x 100000 tree_deserialize 5.8584 ms/op 8.4026 ms/op 0.70
UintBigint32 x 100000 tree_serialize 1.9618 ms/op 2.3091 ms/op 0.85
UintBigint64 x 100000 tree_deserialize 6.6221 ms/op 9.3063 ms/op 0.71
UintBigint64 x 100000 tree_serialize 2.6461 ms/op 2.2758 ms/op 1.16
UintBigint8 x 100000 value_deserialize 405.35 us/op 404.49 us/op 1.00
UintBigint8 x 100000 value_serialize 812.82 us/op 1.3018 ms/op 0.62
UintBigint16 x 100000 value_deserialize 466.86 us/op 467.32 us/op 1.00
UintBigint16 x 100000 value_serialize 833.01 us/op 1.3007 ms/op 0.64
UintBigint32 x 100000 value_deserialize 499.98 us/op 497.77 us/op 1.00
UintBigint32 x 100000 value_serialize 884.93 us/op 1.3946 ms/op 0.63
UintBigint64 x 100000 value_deserialize 530.58 us/op 531.36 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0387 ms/op 1.4765 ms/op 0.70
UintBigint8 x 100000 deserialize 4.0203 ms/op 3.8752 ms/op 1.04
UintBigint8 x 100000 serialize 1.7517 ms/op 1.5596 ms/op 1.12
UintBigint16 x 100000 deserialize 4.0150 ms/op 3.9182 ms/op 1.02
UintBigint16 x 100000 serialize 1.7011 ms/op 1.6423 ms/op 1.04
UintBigint32 x 100000 deserialize 4.0780 ms/op 4.0104 ms/op 1.02
UintBigint32 x 100000 serialize 3.0859 ms/op 3.0640 ms/op 1.01
UintBigint64 x 100000 deserialize 4.6032 ms/op 4.6593 ms/op 0.99
UintBigint64 x 100000 serialize 1.6932 ms/op 1.6445 ms/op 1.03
UintBigint128 x 100000 deserialize 6.6699 ms/op 6.1197 ms/op 1.09
UintBigint128 x 100000 serialize 18.107 ms/op 16.716 ms/op 1.08
UintBigint256 x 100000 deserialize 9.9732 ms/op 9.1304 ms/op 1.09
UintBigint256 x 100000 serialize 49.162 ms/op 48.291 ms/op 1.02
Slice from Uint8Array x25000 1.4766 ms/op 1.8885 ms/op 0.78
Slice from ArrayBuffer x25000 16.941 ms/op 16.831 ms/op 1.01
Slice from ArrayBuffer x25000 + new Uint8Array 19.125 ms/op 18.544 ms/op 1.03
Copy Uint8Array 100000 iterate 1.6854 ms/op 1.7182 ms/op 0.98
Copy Uint8Array 100000 slice 122.25 us/op 151.05 us/op 0.81
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 125.39 us/op 144.71 us/op 0.87
Copy Buffer 100000 Uint8Array.prototype.slice.call 124.55 us/op 144.89 us/op 0.86
Copy Uint8Array 100000 slice + set 254.38 us/op 286.61 us/op 0.89
Copy Uint8Array 100000 subarray + set 132.39 us/op 147.25 us/op 0.90
Copy Uint8Array 100000 slice arrayBuffer 133.23 us/op 147.70 us/op 0.90
Uint64 deserialize 100000 - iterate Uint8Array 2.1423 ms/op 2.2740 ms/op 0.94
Uint64 deserialize 100000 - by Uint32A 2.1826 ms/op 2.2497 ms/op 0.97
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0864 ms/op 2.1998 ms/op 0.95
Uint64 deserialize 100000 - by DataView.getBigUint64 5.1898 ms/op 5.4484 ms/op 0.95
Uint64 deserialize 100000 - by byte 40.265 ms/op 40.450 ms/op 1.00

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 78c0600 into master Dec 1, 2025
9 checks passed
@wemeetagain wemeetagain deleted the nh/remove-lerna-dep branch December 1, 2025 17:21
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.

2 participants