Skip to content

chore: release master - #544

Merged
wemeetagain merged 1 commit into
masterfrom
release-please--branches--master
Aug 18, 2026
Merged

chore: release master#544
wemeetagain merged 1 commit into
masterfrom
release-please--branches--master

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

as-sha256: 1.2.5

1.2.5 (2026-08-18)

Miscellaneous

persistent-merkle-tree: 1.3.1

1.3.1 (2026-08-18)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 1.2.5
ssz: 1.6.3

1.6.3 (2026-08-18)

Bug Fixes

  • check first offset in readVariableOffsetsArrayComposite (#543) (2b876ad)

Miscellaneous

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 1.2.5
      • @chainsafe/persistent-merkle-tree bumped to 1.3.1

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot requested a review from a team as a code owner August 18, 2026 14:31

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 19a5044621

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread packages/ssz/package.json Outdated
Comment thread packages/ssz/CHANGELOG.md
@github-actions
github-actions Bot force-pushed the release-please--branches--master branch from 19a5044 to cb2caed Compare August 18, 2026 14:33
@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: 0aef376 Previous: 2b876ad Ratio
basicListValue.readonlyValuesArray() + loop all 12.122 ms/op 3.6785 ms/op 3.30
Full benchmark results
Benchmark suite Current: 0aef376 Previous: 2b876ad Ratio
digestTwoHashObjects 50023 times 37.320 ms/op 38.509 ms/op 0.97
digest2Bytes32 50023 times 41.018 ms/op 41.989 ms/op 0.98
digest 50023 times 39.987 ms/op 41.633 ms/op 0.96
input length 32 839.00 ns/op 908.00 ns/op 0.92
input length 64 973.00 ns/op 1.0450 us/op 0.93
input length 128 1.6730 us/op 1.7570 us/op 0.95
input length 256 2.5200 us/op 2.6290 us/op 0.96
input length 512 4.2180 us/op 4.3530 us/op 0.97
input length 1024 8.0890 us/op 8.3400 us/op 0.97
digest 1000000 times 605.01 ms/op 656.27 ms/op 0.92
hashObjectToByteArray 50023 times 1.0939 ms/op 980.24 us/op 1.12
byteArrayToHashObject 50023 times 1.2051 ms/op 1.0854 ms/op 1.11
digest64 200092 times 160.46 ms/op 165.65 ms/op 0.97
hash 200092 times using batchHash4UintArray64s 162.77 ms/op 173.33 ms/op 0.94
digest64HashObjects 200092 times 148.68 ms/op 156.47 ms/op 0.95
hash 200092 times using batchHash4HashObjectInputs 139.86 ms/op 153.77 ms/op 0.91
getGindicesAtDepth 3.0580 us/op 3.1000 us/op 0.99
iterateAtDepth 5.7670 us/op 5.7670 us/op 1.00
getGindexBits 299.00 ns/op 358.00 ns/op 0.84
gindexIterator 784.00 ns/op 784.00 ns/op 1.00
HashComputationLevel.push then loop 28.987 ms/op 25.891 ms/op 1.12
HashComputation[] push then loop 43.732 ms/op 41.098 ms/op 1.06
hash 2 32 bytes Uint8Array 500000 times - hashtree 152.33 ms/op 143.74 ms/op 1.06
batch hash 16 x 64 Uint8Array 31250 times - hashtree 26.332 ms/op 24.716 ms/op 1.07
hashTwoObjects 500000 times - hashtree 170.85 ms/op 165.03 ms/op 1.04
executeHashComputations - hashtree 8.8446 ms/op 6.7573 ms/op 1.31
hash 2 32 bytes Uint8Array 500000 times - as-sha256 378.91 ms/op 392.11 ms/op 0.97
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 379.94 ms/op 411.09 ms/op 0.92
hashTwoObjects 500000 times - as-sha256 392.42 ms/op 404.42 ms/op 0.97
executeHashComputations - as-sha256 30.484 ms/op 34.211 ms/op 0.89
hash 2 32 bytes Uint8Array 500000 times - noble 1.0098 s/op 976.50 ms/op 1.03
batch hash 16 x 64 Uint8Array 31250 times - noble 963.63 ms/op 933.38 ms/op 1.03
hashTwoObjects 500000 times - noble 1.7031 s/op 1.5151 s/op 1.12
executeHashComputations - noble 28.128 ms/op 28.879 ms/op 0.97
getHashComputations 1.4351 ms/op 1.5268 ms/op 0.94
executeHashComputations 7.1781 ms/op 6.9151 ms/op 1.04
get root 11.976 ms/op 12.547 ms/op 0.95
getNodeH() x7812.5 avg hindex 13.427 us/op 12.223 us/op 1.10
getNodeH() x7812.5 index 0 4.9130 us/op 4.6970 us/op 1.05
getNodeH() x7812.5 index 7 4.9070 us/op 4.6850 us/op 1.05
getNodeH() x7812.5 index 7 with key array 4.9070 us/op 4.6830 us/op 1.05
new LeafNode() x7812.5 257.33 us/op 258.91 us/op 0.99
getHashComputations 250000 nodes 10.615 ms/op 10.098 ms/op 1.05
batchHash 250000 nodes 68.651 ms/op 61.920 ms/op 1.11
get root 250000 nodes 89.015 ms/op 93.658 ms/op 0.95
getHashComputations 500000 nodes 21.940 ms/op 18.781 ms/op 1.17
batchHash 500000 nodes 166.99 ms/op 145.68 ms/op 1.15
get root 500000 nodes 176.81 ms/op 186.34 ms/op 0.95
getHashComputations 1000000 nodes 45.502 ms/op 39.431 ms/op 1.15
batchHash 1000000 nodes 293.38 ms/op 258.19 ms/op 1.14
get root 1000000 nodes 357.09 ms/op 373.25 ms/op 0.96
multiproof - depth 15, 1 requested leaves 6.4900 us/op 6.4030 us/op 1.01
tree offset multiproof - depth 15, 1 requested leaves 14.818 us/op 15.775 us/op 0.94
compact multiproof - depth 15, 1 requested leaves 2.6190 us/op 2.3060 us/op 1.14
multiproof - depth 15, 2 requested leaves 9.4450 us/op 9.4590 us/op 1.00
tree offset multiproof - depth 15, 2 requested leaves 17.474 us/op 18.485 us/op 0.95
compact multiproof - depth 15, 2 requested leaves 2.6550 us/op 2.3000 us/op 1.15
multiproof - depth 15, 3 requested leaves 13.288 us/op 13.617 us/op 0.98
tree offset multiproof - depth 15, 3 requested leaves 22.368 us/op 23.897 us/op 0.94
compact multiproof - depth 15, 3 requested leaves 2.9750 us/op 2.5950 us/op 1.15
multiproof - depth 15, 4 requested leaves 17.530 us/op 18.164 us/op 0.97
tree offset multiproof - depth 15, 4 requested leaves 27.737 us/op 29.563 us/op 0.94
compact multiproof - depth 15, 4 requested leaves 3.3370 us/op 3.0220 us/op 1.10
packedRootsBytesToLeafNodes bytes 4000 offset 0 4.6900 us/op 4.5950 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 1 4.6900 us/op 4.6030 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 2 4.6980 us/op 4.6010 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 3 4.6890 us/op 4.6040 us/op 1.02
subtreeFillToContents depth 40 count 250000 18.034 ms/op 16.480 ms/op 1.09
setRoot - gindexBitstring 18.130 ms/op 18.260 ms/op 0.99
setRoot - gindex 18.209 ms/op 18.708 ms/op 0.97
getRoot - gindexBitstring 1.9046 ms/op 1.9530 ms/op 0.98
getRoot - gindex 2.2864 ms/op 2.6810 ms/op 0.85
getHashObject then setHashObject 19.564 ms/op 20.227 ms/op 0.97
setNodeWithFn 17.636 ms/op 18.133 ms/op 0.97
getNodeAtDepth depth 0 x100000 236.54 us/op 214.61 us/op 1.10
setNodeAtDepth depth 0 x100000 1.4356 ms/op 1.8431 ms/op 0.78
getNodesAtDepth depth 0 x100000 294.71 us/op 280.98 us/op 1.05
setNodesAtDepth depth 0 x100000 764.79 us/op 719.44 us/op 1.06
getNodeAtDepth depth 1 x100000 316.95 us/op 280.87 us/op 1.13
setNodeAtDepth depth 1 x100000 7.0858 ms/op 6.7461 ms/op 1.05
getNodesAtDepth depth 1 x100000 427.85 us/op 405.65 us/op 1.05
setNodesAtDepth depth 1 x100000 5.8229 ms/op 5.9075 ms/op 0.99
getNodeAtDepth depth 2 x100000 668.18 us/op 662.21 us/op 1.01
setNodeAtDepth depth 2 x100000 13.486 ms/op 12.956 ms/op 1.04
getNodesAtDepth depth 2 x100000 15.072 ms/op 17.495 ms/op 0.86
setNodesAtDepth depth 2 x100000 19.020 ms/op 20.804 ms/op 0.91
tree.getNodesAtDepth - gindexes 8.3759 ms/op 7.7477 ms/op 1.08
tree.getNodesAtDepth - push all nodes 1.2345 ms/op 1.3948 ms/op 0.89
tree.getNodesAtDepth - navigation 174.42 us/op 154.34 us/op 1.13
tree.setNodesAtDepth - indexes 569.27 us/op 604.87 us/op 0.94
set at depth 8 594.00 ns/op 649.00 ns/op 0.92
set at depth 16 911.00 ns/op 954.00 ns/op 0.95
set at depth 32 1.5910 us/op 1.5880 us/op 1.00
iterateNodesAtDepth 8 256 12.058 us/op 12.002 us/op 1.00
getNodesAtDepth 8 256 3.0170 us/op 3.1830 us/op 0.95
iterateNodesAtDepth 16 65536 3.8129 ms/op 3.7450 ms/op 1.02
getNodesAtDepth 16 65536 1.0017 ms/op 964.45 us/op 1.04
iterateNodesAtDepth 32 250000 14.275 ms/op 14.019 ms/op 1.02
getNodesAtDepth 32 250000 3.7744 ms/op 3.5921 ms/op 1.05
iterateNodesAtDepth 40 250000 14.350 ms/op 14.012 ms/op 1.02
getNodesAtDepth 40 250000 3.8152 ms/op 3.5860 ms/op 1.06
250000 validators root getter 94.191 ms/op 96.596 ms/op 0.98
250000 validators batchHash() 77.311 ms/op 62.022 ms/op 1.25
250000 validators hashComputations 13.364 ms/op 10.337 ms/op 1.29
bitlist bytes to struct (120,90) 322.00 ns/op 359.00 ns/op 0.90
bitlist bytes to tree (120,90) 1.8360 us/op 1.6610 us/op 1.11
bitlist bytes to struct (2048,2048) 696.00 ns/op 663.00 ns/op 1.05
bitlist bytes to tree (2048,2048) 3.7020 us/op 2.8220 us/op 1.31
ByteListType - deserialize 6.4666 ms/op 6.4283 ms/op 1.01
BasicListType - deserialize 7.3945 ms/op 6.9295 ms/op 1.07
ByteListType - serialize 7.4648 ms/op 7.7159 ms/op 0.97
BasicListType - serialize 12.564 ms/op 11.277 ms/op 1.11
BasicListType - tree_convertToStruct 20.378 ms/op 19.185 ms/op 1.06
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.4168 ms/op 4.1100 ms/op 1.07
List[uint8, 68719476736] len 300000 ViewDU.get(i) 3.7126 ms/op 3.6694 ms/op 1.01
Array.push len 300000 empty Array - number 4.6358 ms/op 3.9887 ms/op 1.16
Array.set len 300000 from new Array - number 1.3936 ms/op 1.1392 ms/op 1.22
Array.set len 300000 - number 4.8072 ms/op 4.1083 ms/op 1.17
Uint8Array.set len 300000 282.00 us/op 276.69 us/op 1.02
Uint32Array.set len 300000 468.94 us/op 821.93 us/op 0.57
Container({a: uint8, b: uint8}) getViewDU x300000 28.814 ms/op 25.193 ms/op 1.14
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 9.7675 ms/op 9.0169 ms/op 1.08
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 95.592 ms/op 89.044 ms/op 1.07
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 276.02 ms/op 236.04 ms/op 1.17
List(Container) len 300000 ViewDU.get(i) 9.5765 ms/op 7.4950 ms/op 1.28
List(Container) len 300000 ViewDU.getReadonly(i) 10.138 ms/op 7.5642 ms/op 1.34
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 16.769 ms/op 15.889 ms/op 1.06
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.2655 ms/op 3.3227 ms/op 1.58
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 8.3652 ms/op 7.5946 ms/op 1.10
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 8.7167 ms/op 7.2128 ms/op 1.21
Array.push len 300000 empty Array - object 4.8590 ms/op 4.1543 ms/op 1.17
Array.set len 300000 from new Array - object 1.1779 ms/op 1.2167 ms/op 0.97
Array.set len 300000 - object 5.0122 ms/op 4.2639 ms/op 1.18
cachePermanentRootStruct no cache 2.6280 us/op 2.6670 us/op 0.99
cachePermanentRootStruct with cache 156.00 ns/op 158.00 ns/op 0.99
epochParticipation len 250000 rws 7813 2.3245 ms/op 2.2428 ms/op 1.04
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.0357 ms/op 4.1822 ms/op 0.96
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 216.24 ms/op 185.67 ms/op 1.16
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 174.18 ms/op 156.97 ms/op 1.11
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 38.569 ms/op 32.881 ms/op 1.17
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 660.28 ms/op 642.57 ms/op 1.03
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 56.389 ms/op 49.721 ms/op 1.13
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 240.07 ms/op 237.44 ms/op 1.01
deserialize Attestation - tree 3.1730 us/op 3.0120 us/op 1.05
deserialize Attestation - struct 1.6580 us/op 1.5730 us/op 1.05
deserialize Attestation - struct (reuse bytes) 1.1710 us/op 1.1680 us/op 1.00
deserialize SignedAggregateAndProof - tree 4.3210 us/op 4.1980 us/op 1.03
deserialize SignedAggregateAndProof - struct 2.7790 us/op 2.6430 us/op 1.05
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.5500 us/op 1.5190 us/op 1.02
deserialize SyncCommitteeMessage - tree 1.1690 us/op 1.1820 us/op 0.99
deserialize SyncCommitteeMessage - struct 1.0030 us/op 961.00 ns/op 1.04
deserialize SyncCommitteeMessage - struct (reuse bytes) 567.00 ns/op 609.00 ns/op 0.93
deserialize SignedContributionAndProof - tree 2.5070 us/op 2.5140 us/op 1.00
deserialize SignedContributionAndProof - struct 2.5230 us/op 2.0110 us/op 1.25
deserialize SignedContributionAndProof - struct (reuse bytes) 955.00 ns/op 976.00 ns/op 0.98
deserialize SignedBeaconBlock - tree 261.54 us/op 248.34 us/op 1.05
deserialize SignedBeaconBlock - struct 126.38 us/op 109.33 us/op 1.16
deserialize SignedBeaconBlock - struct (reuse bytes) 62.480 us/op 67.183 us/op 0.93
BeaconState vc 300000 - deserialize tree 334.53 ms/op 312.59 ms/op 1.07
BeaconState vc 300000 - serialize tree 123.48 ms/op 83.838 ms/op 1.47
BeaconState.historicalRoots vc 300000 - deserialize tree 679.00 ns/op 643.00 ns/op 1.06
BeaconState.historicalRoots vc 300000 - serialize tree 606.00 ns/op 529.00 ns/op 1.15
BeaconState.validators vc 300000 - deserialize tree 308.51 ms/op 288.27 ms/op 1.07
BeaconState.validators vc 300000 - serialize tree 44.780 ms/op 48.396 ms/op 0.93
BeaconState.balances vc 300000 - deserialize tree 8.4254 ms/op 8.0701 ms/op 1.04
BeaconState.balances vc 300000 - serialize tree 8.3216 ms/op 6.7753 ms/op 1.23
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 703.28 us/op 678.19 us/op 1.04
BeaconState.previousEpochParticipation vc 300000 - serialize tree 611.75 us/op 595.79 us/op 1.03
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 708.54 us/op 681.06 us/op 1.04
BeaconState.currentEpochParticipation vc 300000 - serialize tree 563.56 us/op 674.35 us/op 0.84
BeaconState.inactivityScores vc 300000 - deserialize tree 8.4805 ms/op 7.9332 ms/op 1.07
BeaconState.inactivityScores vc 300000 - serialize tree 9.4874 ms/op 7.6248 ms/op 1.24
hashTreeRoot Attestation - struct 7.5550 us/op 7.8330 us/op 0.96
hashTreeRoot Attestation - tree 6.9110 us/op 7.0840 us/op 0.98
hashTreeRoot SignedAggregateAndProof - struct 10.842 us/op 11.262 us/op 0.96
hashTreeRoot SignedAggregateAndProof - tree 10.469 us/op 10.752 us/op 0.97
hashTreeRoot SyncCommitteeMessage - struct 2.6910 us/op 2.7020 us/op 1.00
hashTreeRoot SyncCommitteeMessage - tree 2.6110 us/op 2.6380 us/op 0.99
hashTreeRoot SignedContributionAndProof - struct 6.6860 us/op 6.8380 us/op 0.98
hashTreeRoot SignedContributionAndProof - tree 7.2170 us/op 7.3990 us/op 0.98
hashTreeRoot SignedBeaconBlock - struct 658.08 us/op 692.57 us/op 0.95
hashTreeRoot SignedBeaconBlock - tree 635.82 us/op 643.78 us/op 0.99
hashTreeRoot Validator - struct 3.4290 us/op 3.5590 us/op 0.96
hashTreeRoot Validator - tree 5.3450 us/op 5.2860 us/op 1.01
BeaconState vc 300000 - hashTreeRoot tree 1.8379 s/op 1.7763 s/op 1.03
BeaconState vc 300000 - batchHashTreeRoot tree 3.6172 s/op 3.2659 s/op 1.11
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 827.00 ns/op 782.00 ns/op 1.06
BeaconState.validators vc 300000 - hashTreeRoot tree 1.8478 s/op 1.7674 s/op 1.05
BeaconState.balances vc 300000 - hashTreeRoot tree 26.609 ms/op 27.462 ms/op 0.97
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.3434 ms/op 3.4167 ms/op 0.98
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.3370 ms/op 3.4227 ms/op 0.97
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 26.583 ms/op 27.391 ms/op 0.97
hash64 x18 6.2100 us/op 6.4220 us/op 0.97
hashTwoObjects x18 6.2810 us/op 6.2960 us/op 1.00
hash64 x1740 580.22 us/op 599.71 us/op 0.97
hashTwoObjects x1740 583.25 us/op 585.03 us/op 1.00
hash64 x2700000 927.96 ms/op 946.61 ms/op 0.98
hashTwoObjects x2700000 904.02 ms/op 903.92 ms/op 1.00
get_exitEpoch - ContainerType 165.00 ns/op 179.00 ns/op 0.92
get_exitEpoch - ContainerNodeStructType 175.00 ns/op 186.00 ns/op 0.94
set_exitEpoch - ContainerType 175.00 ns/op 202.00 ns/op 0.87
set_exitEpoch - ContainerNodeStructType 173.00 ns/op 189.00 ns/op 0.92
get_pubkey - ContainerType 821.00 ns/op 728.00 ns/op 1.13
get_pubkey - ContainerNodeStructType 159.00 ns/op 173.00 ns/op 0.92
hashTreeRoot - ContainerType 275.00 ns/op 296.00 ns/op 0.93
hashTreeRoot - ContainerNodeStructType 269.00 ns/op 296.00 ns/op 0.91
createProof - ContainerType 3.2260 us/op 3.0380 us/op 1.06
createProof - ContainerNodeStructType 16.659 us/op 17.262 us/op 0.97
serialize - ContainerType 1.4680 us/op 1.4260 us/op 1.03
serialize - ContainerNodeStructType 964.00 ns/op 881.00 ns/op 1.09
set_exitEpoch_and_hashTreeRoot - ContainerType 2.1230 us/op 2.1570 us/op 0.98
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 5.9290 us/op 5.8310 us/op 1.02
doBatchHashTreeRootValidators 3.4120 us/op 3.2140 us/op 1.06
ContainerNodeStructViewDU hashTreeRoot 20.746 us/op 20.611 us/op 1.01
Array - for of 4.9080 us/op 3.4480 us/op 1.42
Array - for(;;) 4.1390 us/op 2.8210 us/op 1.47
basicListValue.readonlyValuesArray() 3.7230 ms/op 3.0557 ms/op 1.22
basicListValue.readonlyValuesArray() + loop all 12.122 ms/op 3.6785 ms/op 3.30
compositeListValue.readonlyValuesArray() 11.692 ms/op 10.993 ms/op 1.06
compositeListValue.readonlyValuesArray() + loop all 10.740 ms/op 11.133 ms/op 0.96
Number64UintType - get balances list 3.0689 ms/op 2.6891 ms/op 1.14
Number64UintType - set balances list 9.8520 ms/op 10.640 ms/op 0.93
Number64UintType - get and increase 10 then set 31.200 ms/op 30.071 ms/op 1.04
Number64UintType - increase 10 using applyDelta 15.028 ms/op 15.662 ms/op 0.96
Number64UintType - increase 10 using applyDeltaInBatch 15.014 ms/op 15.679 ms/op 0.96
tree_newTreeFromUint64Deltas 13.164 ms/op 12.619 ms/op 1.04
unsafeUint8ArrayToTree 21.615 ms/op 22.335 ms/op 0.97
bitLength(50) 186.00 ns/op 188.00 ns/op 0.99
bitLengthStr(50) 184.00 ns/op 187.00 ns/op 0.98
bitLength(8000) 185.00 ns/op 178.00 ns/op 1.04
bitLengthStr(8000) 233.00 ns/op 236.00 ns/op 0.99
bitLength(250000) 179.00 ns/op 184.00 ns/op 0.97
bitLengthStr(250000) 268.00 ns/op 276.00 ns/op 0.97
merkleize 32 chunks 11.260 us/op 11.637 us/op 0.97
merkleizeBlocksBytes 32 chunks 2.7810 us/op 2.6940 us/op 1.03
merkleizeBlockArray 32 chunks 5.0360 us/op 5.0120 us/op 1.00
merkleize 128 chunks 43.237 us/op 45.688 us/op 0.95
merkleizeBlocksBytes 128 chunks 7.1570 us/op 6.7060 us/op 1.07
merkleizeBlockArray 128 chunks 14.719 us/op 14.459 us/op 1.02
merkleize 512 chunks 172.72 us/op 183.76 us/op 0.94
merkleizeBlocksBytes 512 chunks 23.392 us/op 21.451 us/op 1.09
merkleizeBlockArray 512 chunks 51.091 us/op 49.767 us/op 1.03
merkleize 1024 chunks 351.53 us/op 371.73 us/op 0.95
merkleizeBlocksBytes 1024 chunks 44.367 us/op 40.755 us/op 1.09
merkleizeBlockArray 1024 chunks 99.023 us/op 96.498 us/op 1.03
floor - Math.floor (53) 0.39578 ns/op 0.35000 ns/op 1.13
floor - << 0 (53) 0.39571 ns/op 0.35000 ns/op 1.13
floor - Math.floor (512) 0.39597 ns/op 0.35001 ns/op 1.13
floor - << 0 (512) 0.39562 ns/op 0.34999 ns/op 1.13
fnIf(0) 1.7585 ns/op 1.5000 ns/op 1.17
fnSwitch(0) 2.5498 ns/op 2.4885 ns/op 1.02
fnObj(0) 0.39563 ns/op 0.35005 ns/op 1.13
fnArr(0) 0.39565 ns/op 0.34995 ns/op 1.13
fnIf(4) 2.2839 ns/op 2.1757 ns/op 1.05
fnSwitch(4) 2.4488 ns/op 2.1764 ns/op 1.13
fnObj(4) 0.39566 ns/op 0.34993 ns/op 1.13
fnArr(4) 0.39557 ns/op 0.35012 ns/op 1.13
fnIf(9) 3.3383 ns/op 3.1073 ns/op 1.07
fnSwitch(9) 2.4557 ns/op 2.1759 ns/op 1.13
fnObj(9) 0.39561 ns/op 0.34990 ns/op 1.13
fnArr(9) 0.39575 ns/op 0.35003 ns/op 1.13
Container {a,b,vec} - as struct x100000 39.326 us/op 34.832 us/op 1.13
Container {a,b,vec} - as tree x100000 633.99 us/op 1.2145 ms/op 0.52
Container {a,vec,b} - as struct x100000 87.232 us/op 77.219 us/op 1.13
Container {a,vec,b} - as tree x100000 1.2656 ms/op 1.2141 ms/op 1.04
get 2 props x1000000 - rawObject 351.71 us/op 311.04 us/op 1.13
get 2 props x1000000 - proxy 80.747 ms/op 77.620 ms/op 1.04
get 2 props x1000000 - customObj 351.76 us/op 311.06 us/op 1.13
Simple object binary -> struct 400.00 ns/op 436.00 ns/op 0.92
Simple object binary -> tree_backed 955.00 ns/op 954.00 ns/op 1.00
Simple object struct -> tree_backed 1.5200 us/op 1.4300 us/op 1.06
Simple object tree_backed -> struct 1.2610 us/op 1.2080 us/op 1.04
Simple object struct -> binary 761.00 ns/op 689.00 ns/op 1.10
Simple object tree_backed -> binary 1.0390 us/op 1.0260 us/op 1.01
aggregationBits binary -> struct 336.00 ns/op 372.00 ns/op 0.90
aggregationBits binary -> tree_backed 1.8950 us/op 1.7100 us/op 1.11
aggregationBits struct -> tree_backed 2.2650 us/op 1.9850 us/op 1.14
aggregationBits tree_backed -> struct 888.00 ns/op 784.00 ns/op 1.13
aggregationBits struct -> binary 552.00 ns/op 553.00 ns/op 1.00
aggregationBits tree_backed -> binary 799.00 ns/op 677.00 ns/op 1.18
List(uint8) 100000 binary -> struct 787.85 us/op 700.77 us/op 1.12
List(uint8) 100000 binary -> tree_backed 236.51 us/op 229.22 us/op 1.03
List(uint8) 100000 struct -> tree_backed 1.5472 ms/op 1.4658 ms/op 1.06
List(uint8) 100000 tree_backed -> struct 891.83 us/op 811.55 us/op 1.10
List(uint8) 100000 struct -> binary 1.3092 ms/op 1.3518 ms/op 0.97
List(uint8) 100000 tree_backed -> binary 237.36 us/op 225.95 us/op 1.05
List(uint64Number) 100000 binary -> struct 1.0735 ms/op 1.0467 ms/op 1.03
List(uint64Number) 100000 binary -> tree_backed 1.9964 ms/op 1.9330 ms/op 1.03
List(uint64Number) 100000 struct -> tree_backed 3.7086 ms/op 3.6227 ms/op 1.02
List(uint64Number) 100000 tree_backed -> struct 2.0625 ms/op 2.0095 ms/op 1.03
List(uint64Number) 100000 struct -> binary 2.3330 ms/op 2.3729 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 942.44 us/op 912.58 us/op 1.03
List(Uint64Bigint) 100000 binary -> struct 1.6709 ms/op 1.5592 ms/op 1.07
List(Uint64Bigint) 100000 binary -> tree_backed 2.0002 ms/op 1.9265 ms/op 1.04
List(Uint64Bigint) 100000 struct -> tree_backed 3.5181 ms/op 3.4612 ms/op 1.02
List(Uint64Bigint) 100000 tree_backed -> struct 2.5930 ms/op 2.5481 ms/op 1.02
List(Uint64Bigint) 100000 struct -> binary 2.3185 ms/op 2.2043 ms/op 1.05
List(Uint64Bigint) 100000 tree_backed -> binary 1.9284 ms/op 2.0823 ms/op 0.93
Vector(Root) 100000 binary -> struct 11.403 ms/op 11.062 ms/op 1.03
Vector(Root) 100000 binary -> tree_backed 17.590 ms/op 17.130 ms/op 1.03
Vector(Root) 100000 struct -> tree_backed 20.179 ms/op 19.985 ms/op 1.01
Vector(Root) 100000 tree_backed -> struct 15.668 ms/op 15.403 ms/op 1.02
Vector(Root) 100000 struct -> binary 4.6541 ms/op 4.4188 ms/op 1.05
Vector(Root) 100000 tree_backed -> binary 5.3715 ms/op 5.3083 ms/op 1.01
List(Validator) 100000 binary -> struct 68.258 ms/op 64.921 ms/op 1.05
List(Validator) 100000 binary -> tree_backed 188.77 ms/op 194.49 ms/op 0.97
List(Validator) 100000 struct -> tree_backed 216.42 ms/op 225.53 ms/op 0.96
List(Validator) 100000 tree_backed -> struct 151.69 ms/op 138.31 ms/op 1.10
List(Validator) 100000 struct -> binary 45.753 ms/op 45.908 ms/op 1.00
List(Validator) 100000 tree_backed -> binary 82.436 ms/op 70.318 ms/op 1.17
List(Validator-NS) 100000 binary -> struct 66.933 ms/op 64.211 ms/op 1.04
List(Validator-NS) 100000 binary -> tree_backed 100.39 ms/op 93.264 ms/op 1.08
List(Validator-NS) 100000 struct -> tree_backed 122.23 ms/op 122.39 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> struct 94.691 ms/op 93.794 ms/op 1.01
List(Validator-NS) 100000 struct -> binary 10.486 ms/op 11.371 ms/op 0.92
List(Validator-NS) 100000 tree_backed -> binary 19.943 ms/op 18.432 ms/op 1.08
get epochStatuses - MutableVector 145.56 us/op 113.39 us/op 1.28
get epochStatuses - ViewDU 174.28 us/op 207.09 us/op 0.84
set epochStatuses - ListTreeView 1.8770 ms/op 1.8932 ms/op 0.99
set epochStatuses - ListTreeView - set() 476.28 us/op 481.37 us/op 0.99
set epochStatuses - ListTreeView - commit() 779.64 us/op 759.83 us/op 1.03
bitstring 488.42 ns/op 462.43 ns/op 1.06
bit mask 8.1561 ns/op 7.1978 ns/op 1.13
struct - increase slot to 1000000 395.55 us/op 349.97 us/op 1.13
UintNumberType - increase slot to 1000000 27.799 ms/op 27.141 ms/op 1.02
UintBigintType - increase slot to 1000000 162.74 ms/op 162.72 ms/op 1.00
UintBigint8 x 100000 tree_deserialize 5.1762 ms/op 6.2730 ms/op 0.83
UintBigint8 x 100000 tree_serialize 1.2827 ms/op 1.1598 ms/op 1.11
UintBigint16 x 100000 tree_deserialize 5.2567 ms/op 5.5569 ms/op 0.95
UintBigint16 x 100000 tree_serialize 1.3190 ms/op 639.18 us/op 2.06
UintBigint32 x 100000 tree_deserialize 4.9270 ms/op 3.8106 ms/op 1.29
UintBigint32 x 100000 tree_serialize 1.7301 ms/op 1.2963 ms/op 1.33
UintBigint64 x 100000 tree_deserialize 5.3629 ms/op 5.3436 ms/op 1.00
UintBigint64 x 100000 tree_serialize 1.6483 ms/op 1.5088 ms/op 1.09
UintBigint8 x 100000 value_deserialize 423.25 us/op 404.35 us/op 1.05
UintBigint8 x 100000 value_serialize 387.55 us/op 363.76 us/op 1.07
UintBigint16 x 100000 value_deserialize 458.88 us/op 491.01 us/op 0.93
UintBigint16 x 100000 value_serialize 411.85 us/op 361.04 us/op 1.14
UintBigint32 x 100000 value_deserialize 493.62 us/op 466.73 us/op 1.06
UintBigint32 x 100000 value_serialize 453.17 us/op 408.40 us/op 1.11
UintBigint64 x 100000 value_deserialize 529.61 us/op 529.00 us/op 1.00
UintBigint64 x 100000 value_serialize 611.88 us/op 523.23 us/op 1.17
UintBigint8 x 100000 deserialize 2.1885 ms/op 1.9175 ms/op 1.14
UintBigint8 x 100000 serialize 1.5477 ms/op 1.5647 ms/op 0.99
UintBigint16 x 100000 deserialize 2.2527 ms/op 2.0073 ms/op 1.12
UintBigint16 x 100000 serialize 2.9213 ms/op 2.9912 ms/op 0.98
UintBigint32 x 100000 deserialize 2.2617 ms/op 2.0425 ms/op 1.11
UintBigint32 x 100000 serialize 2.7463 ms/op 3.2048 ms/op 0.86
UintBigint64 x 100000 deserialize 2.1744 ms/op 1.9130 ms/op 1.14
UintBigint64 x 100000 serialize 1.3015 ms/op 1.2415 ms/op 1.05
UintBigint128 x 100000 deserialize 2.3637 ms/op 2.3135 ms/op 1.02
UintBigint128 x 100000 serialize 12.510 ms/op 11.928 ms/op 1.05
UintBigint256 x 100000 deserialize 3.6400 ms/op 3.0323 ms/op 1.20
UintBigint256 x 100000 serialize 39.347 ms/op 37.889 ms/op 1.04
Slice from Uint8Array x25000 945.09 us/op 929.35 us/op 1.02
Slice from ArrayBuffer x25000 13.795 ms/op 12.623 ms/op 1.09
Slice from ArrayBuffer x25000 + new Uint8Array 19.737 ms/op 18.556 ms/op 1.06
Copy Uint8Array 100000 iterate 869.10 us/op 842.98 us/op 1.03
Copy Uint8Array 100000 slice 165.58 us/op 199.39 us/op 0.83
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 57.639 us/op 75.941 us/op 0.76
Copy Buffer 100000 Uint8Array.prototype.slice.call 57.359 us/op 78.108 us/op 0.73
Copy Uint8Array 100000 slice + set 133.18 us/op 149.40 us/op 0.89
Copy Uint8Array 100000 subarray + set 56.801 us/op 76.403 us/op 0.74
Copy Uint8Array 100000 slice arrayBuffer 57.483 us/op 78.210 us/op 0.73
Uint64 deserialize 100000 - iterate Uint8Array 1.5302 ms/op 1.2787 ms/op 1.20
Uint64 deserialize 100000 - by Uint32A 1.4822 ms/op 1.2674 ms/op 1.17
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.5897 ms/op 1.4366 ms/op 1.11
Uint64 deserialize 100000 - by DataView.getBigUint64 3.9831 ms/op 3.7047 ms/op 1.08
Uint64 deserialize 100000 - by byte 15.309 ms/op 15.636 ms/op 0.98

by benchmarkbot/action

@wemeetagain
wemeetagain merged commit 5681f33 into master Aug 18, 2026
10 of 11 checks passed
@wemeetagain
wemeetagain deleted the release-please--branches--master branch August 18, 2026 15:36
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

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.

1 participant