Skip to content

chore: release master#522

Merged
matthewkeil merged 1 commit intomasterfrom
release-please--branches--master
Apr 21, 2026
Merged

chore: release master#522
matthewkeil merged 1 commit intomasterfrom
release-please--branches--master

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented Apr 21, 2026

🤖 I have created a release beep boop

as-sha256: 1.2.4

1.2.4 (2026-04-21)

Bug Fixes

  • update package.json repo links so provenance works (#523) (d619c45)
persistent-merkle-tree: 1.2.5

1.2.5 (2026-04-21)

Bug Fixes

  • update package.json repo links so provenance works (#523) (d619c45)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 1.2.4
persistent-ts: 1.0.3

1.0.3 (2026-04-21)

Bug Fixes

  • update package.json repo links so provenance works (#523) (d619c45)
ssz: 1.3.4

1.3.4 (2026-04-21)

Bug Fixes

  • update package.json repo links so provenance works (#523) (d619c45)

Miscellaneous

  • bump @lodestar/spec-test-util to 1.42.0 (#518) (67a26aa)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 1.2.4
      • @chainsafe/persistent-merkle-tree bumped to 1.2.5
    • devDependencies
      • @chainsafe/persistent-ts bumped to 1.0.3

This PR was generated with Release Please. See documentation.

@github-actions github-actions Bot requested a review from a team as a code owner April 21, 2026 11:54
@nflaig nflaig enabled auto-merge (squash) April 21, 2026 12:18
Copy link
Copy Markdown
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

@matthewkeil matthewkeil disabled auto-merge April 21, 2026 12:20
@matthewkeil matthewkeil merged commit 5ae98cf into master Apr 21, 2026
4 of 5 checks passed
@matthewkeil matthewkeil deleted the release-please--branches--master branch April 21, 2026 12:21
@github-actions
Copy link
Copy Markdown
Contributor Author

@github-actions
Copy link
Copy Markdown
Contributor Author

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 3bfb038 Previous: 36d8c67 Ratio
BeaconState.historicalRoots vc 300000 - deserialize tree 3.6800 us/op 935.00 ns/op 3.94
Full benchmark results
Benchmark suite Current: 3bfb038 Previous: 36d8c67 Ratio
digestTwoHashObjects 50023 times 47.823 ms/op 48.088 ms/op 0.99
digest2Bytes32 50023 times 54.856 ms/op 55.566 ms/op 0.99
digest 50023 times 53.410 ms/op 54.904 ms/op 0.97
input length 32 1.2230 us/op 1.2160 us/op 1.01
input length 64 1.3840 us/op 1.4220 us/op 0.97
input length 128 2.3500 us/op 2.3190 us/op 1.01
input length 256 3.5190 us/op 3.5000 us/op 1.01
input length 512 5.6460 us/op 5.6580 us/op 1.00
input length 1024 10.999 us/op 10.870 us/op 1.01
digest 1000000 times 871.18 ms/op 875.24 ms/op 1.00
hashObjectToByteArray 50023 times 935.52 us/op 938.16 us/op 1.00
byteArrayToHashObject 50023 times 1.3087 ms/op 1.3420 ms/op 0.98
digest64 200092 times 215.52 ms/op 218.88 ms/op 0.98
hash 200092 times using batchHash4UintArray64s 230.60 ms/op 236.21 ms/op 0.98
digest64HashObjects 200092 times 191.95 ms/op 191.90 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 203.53 ms/op 193.66 ms/op 1.05
getGindicesAtDepth 3.5260 us/op 3.6780 us/op 0.96
iterateAtDepth 6.3550 us/op 6.5700 us/op 0.97
getGindexBits 456.00 ns/op 482.00 ns/op 0.95
gindexIterator 914.00 ns/op 929.00 ns/op 0.98
HashComputationLevel.push then loop 25.593 ms/op 27.105 ms/op 0.94
HashComputation[] push then loop 48.693 ms/op 47.256 ms/op 1.03
hash 2 32 bytes Uint8Array 500000 times - hashtree 152.69 ms/op 146.63 ms/op 1.04
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.617 ms/op 24.390 ms/op 1.01
hashTwoObjects 500000 times - hashtree 173.66 ms/op 172.52 ms/op 1.01
executeHashComputations - hashtree 8.9044 ms/op 9.2893 ms/op 0.96
hash 2 32 bytes Uint8Array 500000 times - as-sha256 490.01 ms/op 495.77 ms/op 0.99
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 518.92 ms/op 515.54 ms/op 1.01
hashTwoObjects 500000 times - as-sha256 501.47 ms/op 506.07 ms/op 0.99
executeHashComputations - as-sha256 45.887 ms/op 46.740 ms/op 0.98
hash 2 32 bytes Uint8Array 500000 times - noble 1.2432 s/op 1.2716 s/op 0.98
batch hash 16 x 64 Uint8Array 31250 times - noble 1.2051 s/op 1.2263 s/op 0.98
hashTwoObjects 500000 times - noble 1.5686 s/op 1.6138 s/op 0.97
executeHashComputations - noble 35.939 ms/op 36.524 ms/op 0.98
getHashComputations 2.3776 ms/op 2.1606 ms/op 1.10
executeHashComputations 10.304 ms/op 9.4928 ms/op 1.09
get root 12.990 ms/op 12.762 ms/op 1.02
getNodeH() x7812.5 avg hindex 12.201 us/op 12.245 us/op 1.00
getNodeH() x7812.5 index 0 7.6030 us/op 7.4830 us/op 1.02
getNodeH() x7812.5 index 7 7.5710 us/op 7.5570 us/op 1.00
getNodeH() x7812.5 index 7 with key array 6.5960 us/op 6.3360 us/op 1.04
new LeafNode() x7812.5 348.32 us/op 310.05 us/op 1.12
getHashComputations 250000 nodes 14.832 ms/op 15.972 ms/op 0.93
batchHash 250000 nodes 85.719 ms/op 81.426 ms/op 1.05
get root 250000 nodes 96.538 ms/op 96.185 ms/op 1.00
getHashComputations 500000 nodes 28.723 ms/op 28.765 ms/op 1.00
batchHash 500000 nodes 149.53 ms/op 147.09 ms/op 1.02
get root 500000 nodes 199.32 ms/op 193.63 ms/op 1.03
getHashComputations 1000000 nodes 62.017 ms/op 63.073 ms/op 0.98
batchHash 1000000 nodes 343.55 ms/op 296.11 ms/op 1.16
get root 1000000 nodes 386.21 ms/op 382.65 ms/op 1.01
multiproof - depth 15, 1 requested leaves 9.0140 us/op 7.1870 us/op 1.25
tree offset multiproof - depth 15, 1 requested leaves 19.142 us/op 16.384 us/op 1.17
compact multiproof - depth 15, 1 requested leaves 4.3000 us/op 3.0660 us/op 1.40
multiproof - depth 15, 2 requested leaves 12.215 us/op 10.391 us/op 1.18
tree offset multiproof - depth 15, 2 requested leaves 22.615 us/op 19.749 us/op 1.15
compact multiproof - depth 15, 2 requested leaves 4.2950 us/op 3.1180 us/op 1.38
multiproof - depth 15, 3 requested leaves 17.160 us/op 14.865 us/op 1.15
tree offset multiproof - depth 15, 3 requested leaves 29.712 us/op 25.475 us/op 1.17
compact multiproof - depth 15, 3 requested leaves 5.3810 us/op 3.5990 us/op 1.50
multiproof - depth 15, 4 requested leaves 22.518 us/op 19.770 us/op 1.14
tree offset multiproof - depth 15, 4 requested leaves 36.037 us/op 32.210 us/op 1.12
compact multiproof - depth 15, 4 requested leaves 5.1550 us/op 3.9410 us/op 1.31
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.4320 us/op 5.5620 us/op 1.16
packedRootsBytesToLeafNodes bytes 4000 offset 1 6.7670 us/op 5.5080 us/op 1.23
packedRootsBytesToLeafNodes bytes 4000 offset 2 6.7200 us/op 5.5440 us/op 1.21
packedRootsBytesToLeafNodes bytes 4000 offset 3 6.8640 us/op 5.6960 us/op 1.21
subtreeFillToContents depth 40 count 250000 48.716 ms/op 45.642 ms/op 1.07
setRoot - gindexBitstring 27.323 ms/op 20.942 ms/op 1.30
setRoot - gindex 28.475 ms/op 21.937 ms/op 1.30
getRoot - gindexBitstring 2.8850 ms/op 2.5163 ms/op 1.15
getRoot - gindex 3.5142 ms/op 3.0995 ms/op 1.13
getHashObject then setHashObject 28.645 ms/op 22.234 ms/op 1.29
setNodeWithFn 25.895 ms/op 19.753 ms/op 1.31
getNodeAtDepth depth 0 x100000 280.48 us/op 280.60 us/op 1.00
setNodeAtDepth depth 0 x100000 2.7493 ms/op 2.5932 ms/op 1.06
getNodesAtDepth depth 0 x100000 312.55 us/op 312.93 us/op 1.00
setNodesAtDepth depth 0 x100000 757.21 us/op 762.85 us/op 0.99
getNodeAtDepth depth 1 x100000 345.22 us/op 344.61 us/op 1.00
setNodeAtDepth depth 1 x100000 12.430 ms/op 8.2710 ms/op 1.50
getNodesAtDepth depth 1 x100000 436.60 us/op 436.59 us/op 1.00
setNodesAtDepth depth 1 x100000 10.309 ms/op 8.0657 ms/op 1.28
getNodeAtDepth depth 2 x100000 794.39 us/op 749.66 us/op 1.06
setNodeAtDepth depth 2 x100000 20.031 ms/op 16.460 ms/op 1.22
getNodesAtDepth depth 2 x100000 21.047 ms/op 17.644 ms/op 1.19
setNodesAtDepth depth 2 x100000 31.128 ms/op 24.762 ms/op 1.26
tree.getNodesAtDepth - gindexes 11.280 ms/op 8.8768 ms/op 1.27
tree.getNodesAtDepth - push all nodes 2.7884 ms/op 2.3978 ms/op 1.16
tree.getNodesAtDepth - navigation 314.42 us/op 312.69 us/op 1.01
tree.setNodesAtDepth - indexes 818.66 us/op 691.74 us/op 1.18
set at depth 8 1.0730 us/op 842.00 ns/op 1.27
set at depth 16 1.4150 us/op 1.0580 us/op 1.34
set at depth 32 2.6730 us/op 2.1410 us/op 1.25
iterateNodesAtDepth 8 256 16.707 us/op 14.234 us/op 1.17
getNodesAtDepth 8 256 4.0200 us/op 3.8480 us/op 1.04
iterateNodesAtDepth 16 65536 4.8901 ms/op 4.6017 ms/op 1.06
getNodesAtDepth 16 65536 1.2295 ms/op 1.1886 ms/op 1.03
iterateNodesAtDepth 32 250000 17.602 ms/op 16.554 ms/op 1.06
getNodesAtDepth 32 250000 6.0788 ms/op 6.6520 ms/op 0.91
iterateNodesAtDepth 40 250000 18.270 ms/op 15.910 ms/op 1.15
getNodesAtDepth 40 250000 5.2920 ms/op 4.5409 ms/op 1.17
250000 validators root getter 97.686 ms/op 99.036 ms/op 0.99
250000 validators batchHash() 89.801 ms/op 87.884 ms/op 1.02
250000 validators hashComputations 14.711 ms/op 15.969 ms/op 0.92
bitlist bytes to struct (120,90) 561.00 ns/op 507.00 ns/op 1.11
bitlist bytes to tree (120,90) 2.6780 us/op 2.4350 us/op 1.10
bitlist bytes to struct (2048,2048) 1.0790 us/op 901.00 ns/op 1.20
bitlist bytes to tree (2048,2048) 4.4370 us/op 3.6920 us/op 1.20
ByteListType - deserialize 9.4908 ms/op 8.5525 ms/op 1.11
BasicListType - deserialize 12.377 ms/op 10.074 ms/op 1.23
ByteListType - serialize 8.8363 ms/op 8.6428 ms/op 1.02
BasicListType - serialize 12.433 ms/op 10.750 ms/op 1.16
BasicListType - tree_convertToStruct 26.122 ms/op 22.683 ms/op 1.15
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 6.4426 ms/op 4.9909 ms/op 1.29
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3898 ms/op 4.3846 ms/op 1.00
Array.push len 300000 empty Array - number 7.8759 ms/op 6.9840 ms/op 1.13
Array.set len 300000 from new Array - number 2.2627 ms/op 2.2000 ms/op 1.03
Array.set len 300000 - number 7.4276 ms/op 6.5119 ms/op 1.14
Uint8Array.set len 300000 410.05 us/op 399.81 us/op 1.03
Uint32Array.set len 300000 548.91 us/op 525.26 us/op 1.05
Container({a: uint8, b: uint8}) getViewDU x300000 34.687 ms/op 34.292 ms/op 1.01
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 12.956 ms/op 11.833 ms/op 1.09
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 192.68 ms/op 207.99 ms/op 0.93
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 252.78 ms/op 245.56 ms/op 1.03
List(Container) len 300000 ViewDU.get(i) 6.6799 ms/op 6.5635 ms/op 1.02
List(Container) len 300000 ViewDU.getReadonly(i) 6.6178 ms/op 6.6814 ms/op 0.99
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 37.469 ms/op 37.838 ms/op 0.99
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.3515 ms/op 5.1845 ms/op 1.03
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.8109 ms/op 6.4862 ms/op 1.05
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.7275 ms/op 6.4178 ms/op 1.05
Array.push len 300000 empty Array - object 6.9558 ms/op 6.6665 ms/op 1.04
Array.set len 300000 from new Array - object 2.2218 ms/op 1.9787 ms/op 1.12
Array.set len 300000 - object 6.7435 ms/op 6.5076 ms/op 1.04
cachePermanentRootStruct no cache 3.4020 us/op 3.2020 us/op 1.06
cachePermanentRootStruct with cache 185.00 ns/op 186.00 ns/op 0.99
epochParticipation len 250000 rws 7813 2.3998 ms/op 2.2670 ms/op 1.06
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.8183 ms/op 4.7187 ms/op 1.02
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 211.51 ms/op 209.42 ms/op 1.01
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 177.48 ms/op 182.01 ms/op 0.98
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 48.543 ms/op 46.188 ms/op 1.05
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 696.26 ms/op 715.57 ms/op 0.97
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 63.594 ms/op 69.030 ms/op 0.92
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 258.67 ms/op 259.51 ms/op 1.00
deserialize Attestation - tree 3.5280 us/op 3.7520 us/op 0.94
deserialize Attestation - struct 1.8670 us/op 1.8830 us/op 0.99
deserialize Attestation - struct (reuse bytes) 1.4010 us/op 1.5570 us/op 0.90
deserialize SignedAggregateAndProof - tree 4.6760 us/op 4.9650 us/op 0.94
deserialize SignedAggregateAndProof - struct 2.9250 us/op 3.1770 us/op 0.92
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.8590 us/op 1.9410 us/op 0.96
deserialize SyncCommitteeMessage - tree 1.3850 us/op 1.5350 us/op 0.90
deserialize SyncCommitteeMessage - struct 1.0630 us/op 1.2800 us/op 0.83
deserialize SyncCommitteeMessage - struct (reuse bytes) 733.00 ns/op 719.00 ns/op 1.02
deserialize SignedContributionAndProof - tree 2.7750 us/op 2.7570 us/op 1.01
deserialize SignedContributionAndProof - struct 2.2340 us/op 2.2860 us/op 0.98
deserialize SignedContributionAndProof - struct (reuse bytes) 1.2050 us/op 1.2570 us/op 0.96
deserialize SignedBeaconBlock - tree 270.15 us/op 265.21 us/op 1.02
deserialize SignedBeaconBlock - struct 118.64 us/op 122.98 us/op 0.96
deserialize SignedBeaconBlock - struct (reuse bytes) 75.649 us/op 79.644 us/op 0.95
BeaconState vc 300000 - deserialize tree 615.41 ms/op 663.56 ms/op 0.93
BeaconState vc 300000 - serialize tree 97.023 ms/op 78.268 ms/op 1.24
BeaconState.historicalRoots vc 300000 - deserialize tree 3.6800 us/op 935.00 ns/op 3.94
BeaconState.historicalRoots vc 300000 - serialize tree 731.00 ns/op 679.00 ns/op 1.08
BeaconState.validators vc 300000 - deserialize tree 576.25 ms/op 607.69 ms/op 0.95
BeaconState.validators vc 300000 - serialize tree 33.479 ms/op 31.558 ms/op 1.06
BeaconState.balances vc 300000 - deserialize tree 26.417 ms/op 26.984 ms/op 0.98
BeaconState.balances vc 300000 - serialize tree 3.5227 ms/op 4.1462 ms/op 0.85
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 850.08 us/op 1.0450 ms/op 0.81
BeaconState.previousEpochParticipation vc 300000 - serialize tree 322.77 us/op 326.95 us/op 0.99
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 865.00 us/op 904.88 us/op 0.96
BeaconState.currentEpochParticipation vc 300000 - serialize tree 322.15 us/op 326.10 us/op 0.99
BeaconState.inactivityScores vc 300000 - deserialize tree 26.836 ms/op 27.233 ms/op 0.99
BeaconState.inactivityScores vc 300000 - serialize tree 3.4691 ms/op 3.7656 ms/op 0.92
hashTreeRoot Attestation - struct 9.4010 us/op 9.4770 us/op 0.99
hashTreeRoot Attestation - tree 7.3950 us/op 7.4430 us/op 0.99
hashTreeRoot SignedAggregateAndProof - struct 12.254 us/op 12.673 us/op 0.97
hashTreeRoot SignedAggregateAndProof - tree 11.056 us/op 11.157 us/op 0.99
hashTreeRoot SyncCommitteeMessage - struct 3.0400 us/op 3.0480 us/op 1.00
hashTreeRoot SyncCommitteeMessage - tree 2.7860 us/op 2.8680 us/op 0.97
hashTreeRoot SignedContributionAndProof - struct 7.5000 us/op 7.7430 us/op 0.97
hashTreeRoot SignedContributionAndProof - tree 7.6410 us/op 7.7080 us/op 0.99
hashTreeRoot SignedBeaconBlock - struct 738.57 us/op 769.26 us/op 0.96
hashTreeRoot SignedBeaconBlock - tree 660.65 us/op 667.75 us/op 0.99
hashTreeRoot Validator - struct 4.3230 us/op 4.4490 us/op 0.97
hashTreeRoot Validator - tree 5.7190 us/op 5.7130 us/op 1.00
BeaconState vc 300000 - hashTreeRoot tree 1.9433 s/op 1.9887 s/op 0.98
BeaconState vc 300000 - batchHashTreeRoot tree 3.7646 s/op 3.9133 s/op 0.96
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 848.00 ns/op 846.00 ns/op 1.00
BeaconState.validators vc 300000 - hashTreeRoot tree 2.0774 s/op 2.2238 s/op 0.93
BeaconState.balances vc 300000 - hashTreeRoot tree 28.235 ms/op 32.896 ms/op 0.86
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.5072 ms/op 3.5301 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.5184 ms/op 3.5304 ms/op 1.00
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 33.549 ms/op 30.882 ms/op 1.09
hash64 x18 7.2460 us/op 8.0850 us/op 0.90
hashTwoObjects x18 6.7920 us/op 6.6340 us/op 1.02
hash64 x1740 631.73 us/op 660.48 us/op 0.96
hashTwoObjects x1740 625.82 us/op 612.95 us/op 1.02
hash64 x2700000 981.45 ms/op 991.68 ms/op 0.99
hashTwoObjects x2700000 973.31 ms/op 948.76 ms/op 1.03
get_exitEpoch - ContainerType 232.00 ns/op 252.00 ns/op 0.92
get_exitEpoch - ContainerNodeStructType 243.00 ns/op 276.00 ns/op 0.88
set_exitEpoch - ContainerType 250.00 ns/op 307.00 ns/op 0.81
set_exitEpoch - ContainerNodeStructType 249.00 ns/op 288.00 ns/op 0.86
get_pubkey - ContainerType 896.00 ns/op 984.00 ns/op 0.91
get_pubkey - ContainerNodeStructType 217.00 ns/op 250.00 ns/op 0.87
hashTreeRoot - ContainerType 443.00 ns/op 551.00 ns/op 0.80
hashTreeRoot - ContainerNodeStructType 434.00 ns/op 452.00 ns/op 0.96
createProof - ContainerType 3.6370 us/op 3.6270 us/op 1.00
createProof - ContainerNodeStructType 19.726 us/op 19.526 us/op 1.01
serialize - ContainerType 1.6180 us/op 1.7760 us/op 0.91
serialize - ContainerNodeStructType 1.0990 us/op 1.2040 us/op 0.91
set_exitEpoch_and_hashTreeRoot - ContainerType 2.5510 us/op 2.7140 us/op 0.94
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 6.4210 us/op 7.0530 us/op 0.91
doBatchHashTreeRootValidators 3.6450 us/op 3.6820 us/op 0.99
ContainerNodeStructViewDU hashTreeRoot 21.771 us/op 23.419 us/op 0.93
Array - for of 8.3010 us/op 5.8770 us/op 1.41
Array - for(;;) 6.7560 us/op 5.7440 us/op 1.18
basicListValue.readonlyValuesArray() 4.1974 ms/op 6.4111 ms/op 0.65
basicListValue.readonlyValuesArray() + loop all 4.2927 ms/op 7.7334 ms/op 0.56
compositeListValue.readonlyValuesArray() 29.622 ms/op 34.295 ms/op 0.86
compositeListValue.readonlyValuesArray() + loop all 31.023 ms/op 25.304 ms/op 1.23
Number64UintType - get balances list 4.6048 ms/op 5.0148 ms/op 0.92
Number64UintType - set balances list 10.087 ms/op 10.287 ms/op 0.98
Number64UintType - get and increase 10 then set 40.106 ms/op 36.190 ms/op 1.11
Number64UintType - increase 10 using applyDelta 16.042 ms/op 14.629 ms/op 1.10
Number64UintType - increase 10 using applyDeltaInBatch 16.348 ms/op 14.741 ms/op 1.11
tree_newTreeFromUint64Deltas 19.480 ms/op 22.463 ms/op 0.87
unsafeUint8ArrayToTree 37.166 ms/op 32.893 ms/op 1.13
bitLength(50) 236.00 ns/op 257.00 ns/op 0.92
bitLengthStr(50) 246.00 ns/op 225.00 ns/op 1.09
bitLength(8000) 232.00 ns/op 252.00 ns/op 0.92
bitLengthStr(8000) 274.00 ns/op 278.00 ns/op 0.99
bitLength(250000) 236.00 ns/op 259.00 ns/op 0.91
bitLengthStr(250000) 299.00 ns/op 312.00 ns/op 0.96
merkleize 32 chunks 12.807 us/op 14.493 us/op 0.88
merkleizeBlocksBytes 32 chunks 3.0980 us/op 3.0030 us/op 1.03
merkleizeBlockArray 32 chunks 5.9610 us/op 6.2270 us/op 0.96
merkleize 128 chunks 49.612 us/op 51.597 us/op 0.96
merkleizeBlocksBytes 128 chunks 7.2990 us/op 7.2880 us/op 1.00
merkleizeBlockArray 128 chunks 16.851 us/op 17.457 us/op 0.97
merkleize 512 chunks 198.07 us/op 206.33 us/op 0.96
merkleizeBlocksBytes 512 chunks 22.566 us/op 22.522 us/op 1.00
merkleizeBlockArray 512 chunks 58.430 us/op 61.944 us/op 0.94
merkleize 1024 chunks 398.88 us/op 427.58 us/op 0.93
merkleizeBlocksBytes 1024 chunks 42.453 us/op 42.531 us/op 1.00
merkleizeBlockArray 1024 chunks 112.69 us/op 118.37 us/op 0.95
floor - Math.floor (53) 1.2457 ns/op 1.2451 ns/op 1.00
floor - << 0 (53) 1.2464 ns/op 1.2459 ns/op 1.00
floor - Math.floor (512) 1.2463 ns/op 1.2487 ns/op 1.00
floor - << 0 (512) 1.2457 ns/op 1.2449 ns/op 1.00
fnIf(0) 1.5629 ns/op 1.5560 ns/op 1.00
fnSwitch(0) 2.1818 ns/op 2.1811 ns/op 1.00
fnObj(0) 1.5586 ns/op 1.5628 ns/op 1.00
fnArr(0) 1.5572 ns/op 1.5549 ns/op 1.00
fnIf(4) 2.1812 ns/op 2.1825 ns/op 1.00
fnSwitch(4) 2.1790 ns/op 2.1782 ns/op 1.00
fnObj(4) 1.5564 ns/op 1.5671 ns/op 0.99
fnArr(4) 1.5580 ns/op 1.5570 ns/op 1.00
fnIf(9) 3.1139 ns/op 3.1206 ns/op 1.00
fnSwitch(9) 2.1793 ns/op 2.1899 ns/op 1.00
fnObj(9) 1.5696 ns/op 1.5620 ns/op 1.00
fnArr(9) 1.5578 ns/op 1.5572 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.79 us/op 125.18 us/op 1.00
Container {a,b,vec} - as tree x100000 561.74 us/op 560.69 us/op 1.00
Container {a,vec,b} - as struct x100000 155.88 us/op 155.85 us/op 1.00
Container {a,vec,b} - as tree x100000 560.90 us/op 560.33 us/op 1.00
get 2 props x1000000 - rawObject 312.05 us/op 312.03 us/op 1.00
get 2 props x1000000 - proxy 72.549 ms/op 72.615 ms/op 1.00
get 2 props x1000000 - customObj 314.02 us/op 312.41 us/op 1.01
Simple object binary -> struct 630.00 ns/op 639.00 ns/op 0.99
Simple object binary -> tree_backed 1.5900 us/op 1.6970 us/op 0.94
Simple object struct -> tree_backed 2.1190 us/op 2.2240 us/op 0.95
Simple object tree_backed -> struct 1.4840 us/op 1.5230 us/op 0.97
Simple object struct -> binary 849.00 ns/op 874.00 ns/op 0.97
Simple object tree_backed -> binary 1.2070 us/op 1.2290 us/op 0.98
aggregationBits binary -> struct 486.00 ns/op 481.00 ns/op 1.01
aggregationBits binary -> tree_backed 1.9930 us/op 2.2360 us/op 0.89
aggregationBits struct -> tree_backed 2.3520 us/op 2.6710 us/op 0.88
aggregationBits tree_backed -> struct 924.00 ns/op 975.00 ns/op 0.95
aggregationBits struct -> binary 687.00 ns/op 716.00 ns/op 0.96
aggregationBits tree_backed -> binary 803.00 ns/op 827.00 ns/op 0.97
List(uint8) 100000 binary -> struct 1.0083 ms/op 919.72 us/op 1.10
List(uint8) 100000 binary -> tree_backed 255.74 us/op 283.33 us/op 0.90
List(uint8) 100000 struct -> tree_backed 1.3003 ms/op 1.3936 ms/op 0.93
List(uint8) 100000 tree_backed -> struct 1.0066 ms/op 971.83 us/op 1.04
List(uint8) 100000 struct -> binary 1.0664 ms/op 1.0616 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 103.86 us/op 108.28 us/op 0.96
List(uint64Number) 100000 binary -> struct 1.2381 ms/op 1.3411 ms/op 0.92
List(uint64Number) 100000 binary -> tree_backed 4.0481 ms/op 4.5103 ms/op 0.90
List(uint64Number) 100000 struct -> tree_backed 6.0210 ms/op 7.1436 ms/op 0.84
List(uint64Number) 100000 tree_backed -> struct 2.3045 ms/op 2.5979 ms/op 0.89
List(uint64Number) 100000 struct -> binary 1.4116 ms/op 1.4332 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 1.0218 ms/op 1.0756 ms/op 0.95
List(Uint64Bigint) 100000 binary -> struct 3.6049 ms/op 3.9069 ms/op 0.92
List(Uint64Bigint) 100000 binary -> tree_backed 4.9114 ms/op 4.9646 ms/op 0.99
List(Uint64Bigint) 100000 struct -> tree_backed 6.9878 ms/op 6.6034 ms/op 1.06
List(Uint64Bigint) 100000 tree_backed -> struct 4.6085 ms/op 4.9696 ms/op 0.93
List(Uint64Bigint) 100000 struct -> binary 2.0944 ms/op 2.0900 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 1.0317 ms/op 1.0931 ms/op 0.94
Vector(Root) 100000 binary -> struct 33.974 ms/op 34.202 ms/op 0.99
Vector(Root) 100000 binary -> tree_backed 32.642 ms/op 33.912 ms/op 0.96
Vector(Root) 100000 struct -> tree_backed 49.278 ms/op 49.456 ms/op 1.00
Vector(Root) 100000 tree_backed -> struct 50.003 ms/op 48.494 ms/op 1.03
Vector(Root) 100000 struct -> binary 3.0354 ms/op 3.0840 ms/op 0.98
Vector(Root) 100000 tree_backed -> binary 6.1558 ms/op 7.0168 ms/op 0.88
List(Validator) 100000 binary -> struct 111.07 ms/op 106.28 ms/op 1.05
List(Validator) 100000 binary -> tree_backed 327.51 ms/op 323.26 ms/op 1.01
List(Validator) 100000 struct -> tree_backed 372.44 ms/op 373.70 ms/op 1.00
List(Validator) 100000 tree_backed -> struct 212.32 ms/op 207.42 ms/op 1.02
List(Validator) 100000 struct -> binary 29.223 ms/op 30.059 ms/op 0.97
List(Validator) 100000 tree_backed -> binary 108.21 ms/op 105.13 ms/op 1.03
List(Validator-NS) 100000 binary -> struct 110.34 ms/op 110.45 ms/op 1.00
List(Validator-NS) 100000 binary -> tree_backed 160.89 ms/op 158.04 ms/op 1.02
List(Validator-NS) 100000 struct -> tree_backed 184.35 ms/op 185.17 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> struct 150.12 ms/op 149.38 ms/op 1.00
List(Validator-NS) 100000 struct -> binary 7.6235 ms/op 7.5555 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> binary 12.996 ms/op 13.129 ms/op 0.99
get epochStatuses - MutableVector 103.36 us/op 105.49 us/op 0.98
get epochStatuses - ViewDU 210.72 us/op 174.43 us/op 1.21
set epochStatuses - ListTreeView 2.1944 ms/op 2.1719 ms/op 1.01
set epochStatuses - ListTreeView - set() 440.49 us/op 469.31 us/op 0.94
set epochStatuses - ListTreeView - commit() 797.05 us/op 769.40 us/op 1.04
bitstring 516.47 ns/op 516.16 ns/op 1.00
bit mask 13.389 ns/op 13.683 ns/op 0.98
struct - increase slot to 1000000 937.44 us/op 934.67 us/op 1.00
UintNumberType - increase slot to 1000000 27.793 ms/op 29.302 ms/op 0.95
UintBigintType - increase slot to 1000000 171.44 ms/op 179.06 ms/op 0.96
UintBigint8 x 100000 tree_deserialize 5.6775 ms/op 5.7310 ms/op 0.99
UintBigint8 x 100000 tree_serialize 1.1440 ms/op 1.1295 ms/op 1.01
UintBigint16 x 100000 tree_deserialize 5.8020 ms/op 6.3842 ms/op 0.91
UintBigint16 x 100000 tree_serialize 1.3988 ms/op 1.3928 ms/op 1.00
UintBigint32 x 100000 tree_deserialize 6.0432 ms/op 5.8390 ms/op 1.03
UintBigint32 x 100000 tree_serialize 1.8959 ms/op 1.7317 ms/op 1.09
UintBigint64 x 100000 tree_deserialize 6.1921 ms/op 6.1226 ms/op 1.01
UintBigint64 x 100000 tree_serialize 2.7776 ms/op 1.7219 ms/op 1.61
UintBigint8 x 100000 value_deserialize 405.46 us/op 409.30 us/op 0.99
UintBigint8 x 100000 value_serialize 780.59 us/op 783.51 us/op 1.00
UintBigint16 x 100000 value_deserialize 467.45 us/op 467.42 us/op 1.00
UintBigint16 x 100000 value_serialize 826.25 us/op 817.74 us/op 1.01
UintBigint32 x 100000 value_deserialize 498.59 us/op 498.77 us/op 1.00
UintBigint32 x 100000 value_serialize 875.65 us/op 861.83 us/op 1.02
UintBigint64 x 100000 value_deserialize 531.79 us/op 532.11 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0138 ms/op 1.0390 ms/op 0.98
UintBigint8 x 100000 deserialize 3.5864 ms/op 3.3833 ms/op 1.06
UintBigint8 x 100000 serialize 1.5638 ms/op 1.7067 ms/op 0.92
UintBigint16 x 100000 deserialize 3.3039 ms/op 3.6037 ms/op 0.92
UintBigint16 x 100000 serialize 1.6244 ms/op 1.5416 ms/op 1.05
UintBigint32 x 100000 deserialize 3.7234 ms/op 3.6894 ms/op 1.01
UintBigint32 x 100000 serialize 3.0301 ms/op 2.9007 ms/op 1.04
UintBigint64 x 100000 deserialize 4.2171 ms/op 4.6865 ms/op 0.90
UintBigint64 x 100000 serialize 1.6715 ms/op 1.6695 ms/op 1.00
UintBigint128 x 100000 deserialize 6.2857 ms/op 6.0558 ms/op 1.04
UintBigint128 x 100000 serialize 16.230 ms/op 15.467 ms/op 1.05
UintBigint256 x 100000 deserialize 9.5459 ms/op 9.2868 ms/op 1.03
UintBigint256 x 100000 serialize 47.755 ms/op 46.347 ms/op 1.03
Slice from Uint8Array x25000 1.8179 ms/op 1.3829 ms/op 1.31
Slice from ArrayBuffer x25000 16.965 ms/op 16.435 ms/op 1.03
Slice from ArrayBuffer x25000 + new Uint8Array 18.601 ms/op 18.363 ms/op 1.01
Copy Uint8Array 100000 iterate 1.6801 ms/op 1.6719 ms/op 1.00
Copy Uint8Array 100000 slice 113.20 us/op 113.91 us/op 0.99
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 110.43 us/op 105.76 us/op 1.04
Copy Buffer 100000 Uint8Array.prototype.slice.call 107.28 us/op 110.18 us/op 0.97
Copy Uint8Array 100000 slice + set 203.23 us/op 223.85 us/op 0.91
Copy Uint8Array 100000 subarray + set 104.07 us/op 107.58 us/op 0.97
Copy Uint8Array 100000 slice arrayBuffer 103.58 us/op 102.28 us/op 1.01
Uint64 deserialize 100000 - iterate Uint8Array 2.0078 ms/op 1.9803 ms/op 1.01
Uint64 deserialize 100000 - by Uint32A 1.9517 ms/op 1.8703 ms/op 1.04
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0596 ms/op 1.8418 ms/op 1.12
Uint64 deserialize 100000 - by DataView.getBigUint64 4.9296 ms/op 5.1221 ms/op 0.96
Uint64 deserialize 100000 - by byte 40.252 ms/op 40.657 ms/op 0.99

by benchmarkbot/action

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