Skip to content

chore: release master - #558

Open
github-actions[bot] wants to merge 1 commit into
masterfrom
release-please--branches--master
Open

github-actions[bot] wants to merge 1 commit into
masterfrom
release-please--branches--master

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

ssz: 1.9.0

1.9.0 (2026-10-16)

Features

  • add SerializedListType and ProgressiveSerializedListType (#555) (264c540)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot requested a review from a team as a code owner October 16, 2026 22:09
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T22:11:16.560451Z fe8de48 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added the ssz label Oct 16, 2026
@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: 81d5b65 Previous: 264c540 Ratio
Copy Uint8Array 100000 slice 182.91 us/op 52.134 us/op 3.51
Full benchmark results
Benchmark suite Current: 81d5b65 Previous: 264c540 Ratio
digestTwoHashObjects 50023 times 38.514 ms/op 29.115 ms/op 1.32
digest2Bytes32 50023 times 41.981 ms/op 31.790 ms/op 1.32
digest 50023 times 41.270 ms/op 31.169 ms/op 1.32
input length 32 905.00 ns/op 683.00 ns/op 1.33
input length 64 1.0330 us/op 763.00 ns/op 1.35
input length 128 1.7590 us/op 1.3410 us/op 1.31
input length 256 2.6330 us/op 2.0080 us/op 1.31
input length 512 4.3890 us/op 3.3480 us/op 1.31
input length 1024 8.4070 us/op 6.3030 us/op 1.33
digest 1000000 times 671.04 ms/op 478.15 ms/op 1.40
hashObjectToByteArray 50023 times 980.72 us/op 850.11 us/op 1.15
byteArrayToHashObject 50023 times 1.0816 ms/op 934.97 us/op 1.16
digest64 200092 times 165.23 ms/op 127.54 ms/op 1.30
hash 200092 times using batchHash4UintArray64s 174.65 ms/op 128.41 ms/op 1.36
digest64HashObjects 200092 times 154.16 ms/op 118.15 ms/op 1.30
hash 200092 times using batchHash4HashObjectInputs 147.63 ms/op 117.82 ms/op 1.25
getGindicesAtDepth 3.2530 us/op 2.5620 us/op 1.27
iterateAtDepth 5.8410 us/op 4.7190 us/op 1.24
getGindexBits 345.00 ns/op 249.00 ns/op 1.39
gindexIterator 783.00 ns/op 615.00 ns/op 1.27
HashComputationLevel.push then loop 26.838 ms/op 22.497 ms/op 1.19
HashComputation[] push then loop 40.901 ms/op 34.615 ms/op 1.18
hash 2 32 bytes Uint8Array 500000 times - hashtree 141.53 ms/op 113.55 ms/op 1.25
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.600 ms/op 21.504 ms/op 1.14
hashTwoObjects 500000 times - hashtree 169.23 ms/op 127.02 ms/op 1.33
executeHashComputations - hashtree 6.8607 ms/op 6.5830 ms/op 1.04
hash 2 32 bytes Uint8Array 500000 times - as-sha256 392.20 ms/op 295.58 ms/op 1.33
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 369.01 ms/op 274.16 ms/op 1.35
hashTwoObjects 500000 times - as-sha256 403.82 ms/op 303.70 ms/op 1.33
executeHashComputations - as-sha256 34.488 ms/op 23.283 ms/op 1.48
hash 2 32 bytes Uint8Array 500000 times - noble 935.42 ms/op 793.86 ms/op 1.18
batch hash 16 x 64 Uint8Array 31250 times - noble 884.03 ms/op 762.39 ms/op 1.16
hashTwoObjects 500000 times - noble 1.3696 s/op 1.3156 s/op 1.04
executeHashComputations - noble 28.749 ms/op 23.084 ms/op 1.25
getHashComputations 1.3944 ms/op 1.8123 ms/op 0.77
executeHashComputations 6.4719 ms/op 5.8495 ms/op 1.11
get root 11.957 ms/op 9.6823 ms/op 1.23
getNodeH() x7812.5 avg hindex 12.217 us/op 10.430 us/op 1.17
getNodeH() x7812.5 index 0 4.6890 us/op 3.8180 us/op 1.23
getNodeH() x7812.5 index 7 4.6830 us/op 3.8160 us/op 1.23
getNodeH() x7812.5 index 7 with key array 4.6830 us/op 3.8150 us/op 1.23
new LeafNode() x7812.5 257.04 us/op 198.28 us/op 1.30
getHashComputations 250000 nodes 9.8560 ms/op 9.3331 ms/op 1.06
batchHash 250000 nodes 61.777 ms/op 60.131 ms/op 1.03
get root 250000 nodes 89.765 ms/op 71.083 ms/op 1.26
getHashComputations 500000 nodes 18.831 ms/op 16.647 ms/op 1.13
batchHash 500000 nodes 144.48 ms/op 146.54 ms/op 0.99
get root 500000 nodes 177.49 ms/op 139.91 ms/op 1.27
getHashComputations 1000000 nodes 39.001 ms/op 39.862 ms/op 0.98
batchHash 1000000 nodes 261.09 ms/op 260.21 ms/op 1.00
get root 1000000 nodes 357.79 ms/op 283.04 ms/op 1.26
multiproof - depth 15, 1 requested leaves 6.5170 us/op 5.0690 us/op 1.29
tree offset multiproof - depth 15, 1 requested leaves 15.737 us/op 11.377 us/op 1.38
compact multiproof - depth 15, 1 requested leaves 2.3210 us/op 2.2130 us/op 1.05
multiproof - depth 15, 2 requested leaves 9.7430 us/op 7.3950 us/op 1.32
tree offset multiproof - depth 15, 2 requested leaves 18.670 us/op 13.570 us/op 1.38
compact multiproof - depth 15, 2 requested leaves 2.3340 us/op 2.2010 us/op 1.06
multiproof - depth 15, 3 requested leaves 14.011 us/op 10.328 us/op 1.36
tree offset multiproof - depth 15, 3 requested leaves 24.300 us/op 17.368 us/op 1.40
compact multiproof - depth 15, 3 requested leaves 2.6370 us/op 2.4420 us/op 1.08
multiproof - depth 15, 4 requested leaves 18.669 us/op 13.532 us/op 1.38
tree offset multiproof - depth 15, 4 requested leaves 30.104 us/op 21.424 us/op 1.41
compact multiproof - depth 15, 4 requested leaves 3.0690 us/op 2.7460 us/op 1.12
packedRootsBytesToLeafNodes bytes 4000 offset 0 4.5830 us/op 3.6770 us/op 1.25
packedRootsBytesToLeafNodes bytes 4000 offset 1 4.5910 us/op 3.6760 us/op 1.25
packedRootsBytesToLeafNodes bytes 4000 offset 2 4.6030 us/op 3.6850 us/op 1.25
packedRootsBytesToLeafNodes bytes 4000 offset 3 4.6070 us/op 3.6650 us/op 1.26
subtreeFillToContents depth 40 count 250000 18.619 ms/op 14.306 ms/op 1.30
setRoot - gindexBitstring 17.850 ms/op 14.722 ms/op 1.21
setRoot - gindex 18.843 ms/op 15.172 ms/op 1.24
getRoot - gindexBitstring 1.9565 ms/op 1.4645 ms/op 1.34
getRoot - gindex 2.5621 ms/op 1.7760 ms/op 1.44
getHashObject then setHashObject 19.654 ms/op 15.826 ms/op 1.24
setNodeWithFn 20.310 ms/op 14.392 ms/op 1.41
getNodeAtDepth depth 0 x100000 215.10 us/op 182.69 us/op 1.18
setNodeAtDepth depth 0 x100000 1.8278 ms/op 1.1145 ms/op 1.64
getNodesAtDepth depth 0 x100000 280.63 us/op 228.75 us/op 1.23
setNodesAtDepth depth 0 x100000 697.31 us/op 560.36 us/op 1.24
getNodeAtDepth depth 1 x100000 280.41 us/op 246.56 us/op 1.14
setNodeAtDepth depth 1 x100000 6.7144 ms/op 6.0033 ms/op 1.12
getNodesAtDepth depth 1 x100000 405.69 us/op 331.51 us/op 1.22
setNodesAtDepth depth 1 x100000 5.5588 ms/op 4.5470 ms/op 1.22
getNodeAtDepth depth 2 x100000 655.15 us/op 491.09 us/op 1.33
setNodeAtDepth depth 2 x100000 13.170 ms/op 10.888 ms/op 1.21
getNodesAtDepth depth 2 x100000 16.516 ms/op 11.178 ms/op 1.48
setNodesAtDepth depth 2 x100000 19.522 ms/op 15.150 ms/op 1.29
tree.getNodesAtDepth - gindexes 5.0008 ms/op 11.564 ms/op 0.43
tree.getNodesAtDepth - push all nodes 1.3997 ms/op 962.10 us/op 1.45
tree.getNodesAtDepth - navigation 154.45 us/op 135.51 us/op 1.14
tree.setNodesAtDepth - indexes 584.99 us/op 443.38 us/op 1.32
set at depth 8 635.00 ns/op 475.00 ns/op 1.34
set at depth 16 934.00 ns/op 720.00 ns/op 1.30
set at depth 32 1.5670 us/op 1.2400 us/op 1.26
iterateNodesAtDepth 8 256 12.333 us/op 9.5650 us/op 1.29
getNodesAtDepth 8 256 3.1600 us/op 2.4070 us/op 1.31
iterateNodesAtDepth 16 65536 3.7758 ms/op 3.0004 ms/op 1.26
getNodesAtDepth 16 65536 947.80 us/op 781.25 us/op 1.21
iterateNodesAtDepth 32 250000 14.123 ms/op 11.141 ms/op 1.27
getNodesAtDepth 32 250000 3.5873 ms/op 2.9623 ms/op 1.21
iterateNodesAtDepth 40 250000 14.019 ms/op 11.237 ms/op 1.25
getNodesAtDepth 40 250000 3.5714 ms/op 2.9765 ms/op 1.20
250000 validators root getter 91.810 ms/op 76.052 ms/op 1.21
250000 validators batchHash() 60.256 ms/op 64.172 ms/op 0.94
250000 validators hashComputations 9.7880 ms/op 12.220 ms/op 0.80
bitlist bytes to struct (120,90) 352.00 ns/op 253.00 ns/op 1.39
bitlist bytes to tree (120,90) 1.6500 us/op 1.4800 us/op 1.11
bitlist bytes to struct (2048,2048) 648.00 ns/op 580.00 ns/op 1.12
bitlist bytes to tree (2048,2048) 2.7320 us/op 3.2120 us/op 0.85
ByteListType - deserialize 6.4783 ms/op 5.9152 ms/op 1.10
BasicListType - deserialize 6.9364 ms/op 7.1824 ms/op 0.97
ByteListType - serialize 6.8958 ms/op 6.5758 ms/op 1.05
BasicListType - serialize 10.226 ms/op 9.5719 ms/op 1.07
BasicListType - tree_convertToStruct 17.827 ms/op 18.916 ms/op 0.94
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.0725 ms/op 3.3508 ms/op 1.22
List[uint8, 68719476736] len 300000 ViewDU.get(i) 3.6871 ms/op 2.9063 ms/op 1.27
Array.push len 300000 empty Array - number 3.9675 ms/op 3.6775 ms/op 1.08
Array.set len 300000 from new Array - number 1.0918 ms/op 1.0805 ms/op 1.01
Array.set len 300000 - number 4.0364 ms/op 3.8120 ms/op 1.06
Uint8Array.set len 300000 309.75 us/op 273.06 us/op 1.13
Uint32Array.set len 300000 549.50 us/op 422.08 us/op 1.30
Container({a: uint8, b: uint8}) getViewDU x300000 25.878 ms/op 67.784 ms/op 0.38
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 8.9932 ms/op 7.4806 ms/op 1.20
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 89.991 ms/op 79.299 ms/op 1.13
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 223.05 ms/op 223.39 ms/op 1.00
List(Container) len 300000 ViewDU.get(i) 7.5298 ms/op 11.134 ms/op 0.68
List(Container) len 300000 ViewDU.getReadonly(i) 7.4280 ms/op 11.052 ms/op 0.67
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 14.961 ms/op 9.4542 ms/op 1.58
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 4.0433 ms/op 4.1070 ms/op 0.98
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.7300 ms/op 8.2541 ms/op 0.82
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.6652 ms/op 7.9679 ms/op 0.84
Array.push len 300000 empty Array - object 4.1910 ms/op 4.0121 ms/op 1.04
Array.set len 300000 from new Array - object 1.2194 ms/op 1.1537 ms/op 1.06
Array.set len 300000 - object 4.2830 ms/op 3.9639 ms/op 1.08
List 300 txs of 500 bytes Uint8Array[] deserialize 213.36 us/op 173.29 us/op 1.23
List 300 txs of 500 bytes SerializedList deserialize 119.40 us/op 53.452 us/op 2.23
List 300 txs of 500 bytes Uint8Array[] serialize 65.757 us/op 38.264 us/op 1.72
List 300 txs of 500 bytes SerializedList serialize 42.469 us/op 30.343 us/op 1.40
List 300 txs of 500 bytes Uint8Array[] hashTreeRoot 4.1851 ms/op 3.3041 ms/op 1.27
List 300 txs of 500 bytes SerializedList hashTreeRoot 4.2255 ms/op 3.3180 ms/op 1.27
List 1048576 empty txs Uint8Array[] deserialize 137.72 ms/op 246.13 ms/op 0.56
List 1048576 empty txs SerializedList deserialize 12.970 ms/op 12.346 ms/op 1.05
List 1048576 empty txs Uint8Array[] serialize 34.531 ms/op 23.258 ms/op 1.48
List 1048576 empty txs SerializedList serialize 849.18 us/op 517.18 us/op 1.64
List 1048576 empty txs Uint8Array[] hashTreeRoot 619.93 ms/op 462.49 ms/op 1.34
List 1048576 empty txs SerializedList hashTreeRoot 611.89 ms/op 454.22 ms/op 1.35
ProgressiveList 300 txs of 500 bytes Uint8Array[] deserialize 176.20 us/op 175.75 us/op 1.00
ProgressiveList 300 txs of 500 bytes SerializedList deserialize 106.65 us/op 49.175 us/op 2.17
ProgressiveList 300 txs of 500 bytes Uint8Array[] serialize 66.116 us/op 24.688 us/op 2.68
ProgressiveList 300 txs of 500 bytes SerializedList serialize 38.419 us/op 29.836 us/op 1.29
ProgressiveList 300 txs of 500 bytes Uint8Array[] hashTreeRoot 1.4329 ms/op 1.1824 ms/op 1.21
ProgressiveList 300 txs of 500 bytes SerializedList hashTreeRoot 1.4267 ms/op 1.1811 ms/op 1.21
ProgressiveList 1048576 empty txs Uint8Array[] deserialize 139.13 ms/op 296.20 ms/op 0.47
ProgressiveList 1048576 empty txs SerializedList deserialize 12.076 ms/op 9.0714 ms/op 1.33
ProgressiveList 1048576 empty txs Uint8Array[] serialize 32.009 ms/op 31.996 ms/op 1.00
ProgressiveList 1048576 empty txs SerializedList serialize 739.59 us/op 284.59 us/op 2.60
ProgressiveList 1048576 empty txs Uint8Array[] hashTreeRoot 631.38 ms/op 452.89 ms/op 1.39
ProgressiveList 1048576 empty txs SerializedList hashTreeRoot 586.84 ms/op 447.62 ms/op 1.31
cachePermanentRootStruct no cache 2.5680 us/op 2.0570 us/op 1.25
cachePermanentRootStruct with cache 162.00 ns/op 123.00 ns/op 1.32
epochParticipation len 250000 rws 7813 2.2868 ms/op 1.8449 ms/op 1.24
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.1710 ms/op 3.2728 ms/op 1.27
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 188.42 ms/op 188.89 ms/op 1.00
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 154.74 ms/op 147.21 ms/op 1.05
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 28.388 ms/op 31.006 ms/op 0.92
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 633.03 ms/op 522.55 ms/op 1.21
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 52.597 ms/op 43.092 ms/op 1.22
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 227.09 ms/op 196.86 ms/op 1.15
sweep 16384 balances after clone + commit 21.710 ns/op 18.341 ns/op 1.18
deserialize Attestation - tree 2.9690 us/op 2.5140 us/op 1.18
deserialize Attestation - struct 1.5580 us/op 1.3190 us/op 1.18
deserialize Attestation - struct (reuse bytes) 1.1700 us/op 905.00 ns/op 1.29
deserialize SignedAggregateAndProof - tree 4.0800 us/op 3.3170 us/op 1.23
deserialize SignedAggregateAndProof - struct 2.4790 us/op 2.3610 us/op 1.05
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.5320 us/op 1.2350 us/op 1.24
deserialize SyncCommitteeMessage - tree 1.1450 us/op 920.00 ns/op 1.24
deserialize SyncCommitteeMessage - struct 927.00 ns/op 799.00 ns/op 1.16
deserialize SyncCommitteeMessage - struct (reuse bytes) 578.00 ns/op 450.00 ns/op 1.28
deserialize SignedContributionAndProof - tree 2.5300 us/op 1.9340 us/op 1.31
deserialize SignedContributionAndProof - struct 1.9010 us/op 1.9600 us/op 0.97
deserialize SignedContributionAndProof - struct (reuse bytes) 992.00 ns/op 770.00 ns/op 1.29
deserialize SignedBeaconBlock - tree 231.73 us/op 192.59 us/op 1.20
deserialize SignedBeaconBlock - struct 101.21 us/op 92.041 us/op 1.10
deserialize SignedBeaconBlock - struct (reuse bytes) 62.894 us/op 49.660 us/op 1.27
BeaconState vc 300000 - deserialize tree 316.83 ms/op 285.29 ms/op 1.11
BeaconState vc 300000 - serialize tree 110.84 ms/op 72.019 ms/op 1.54
BeaconState.historicalRoots vc 300000 - deserialize tree 600.00 ns/op 1.8130 us/op 0.33
BeaconState.historicalRoots vc 300000 - serialize tree 523.00 ns/op 530.00 ns/op 0.99
BeaconState.validators vc 300000 - deserialize tree 287.18 ms/op 250.79 ms/op 1.15
BeaconState.validators vc 300000 - serialize tree 41.663 ms/op 35.658 ms/op 1.17
BeaconState.balances vc 300000 - deserialize tree 8.0374 ms/op 6.7452 ms/op 1.19
BeaconState.balances vc 300000 - serialize tree 5.7276 ms/op 5.9020 ms/op 0.97
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 690.30 us/op 551.98 us/op 1.25
BeaconState.previousEpochParticipation vc 300000 - serialize tree 511.10 us/op 410.16 us/op 1.25
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 690.69 us/op 549.62 us/op 1.26
BeaconState.currentEpochParticipation vc 300000 - serialize tree 516.20 us/op 462.09 us/op 1.12
BeaconState.inactivityScores vc 300000 - deserialize tree 8.1329 ms/op 6.6631 ms/op 1.22
BeaconState.inactivityScores vc 300000 - serialize tree 4.8603 ms/op 3.8679 ms/op 1.26
hashTreeRoot Attestation - struct 7.7870 us/op 5.9840 us/op 1.30
hashTreeRoot Attestation - tree 7.0080 us/op 5.4190 us/op 1.29
hashTreeRoot SignedAggregateAndProof - struct 11.147 us/op 8.5780 us/op 1.30
hashTreeRoot SignedAggregateAndProof - tree 10.615 us/op 8.2200 us/op 1.29
hashTreeRoot SyncCommitteeMessage - struct 2.6570 us/op 2.0940 us/op 1.27
hashTreeRoot SyncCommitteeMessage - tree 2.5770 us/op 2.0350 us/op 1.27
hashTreeRoot SignedContributionAndProof - struct 6.7660 us/op 5.2850 us/op 1.28
hashTreeRoot SignedContributionAndProof - tree 7.3190 us/op 5.6670 us/op 1.29
hashTreeRoot SignedBeaconBlock - struct 684.79 us/op 525.01 us/op 1.30
hashTreeRoot SignedBeaconBlock - tree 641.76 us/op 482.60 us/op 1.33
hashTreeRoot Validator - struct 3.4980 us/op 2.7030 us/op 1.29
hashTreeRoot Validator - tree 5.2660 us/op 4.2250 us/op 1.25
BeaconState vc 300000 - hashTreeRoot tree 1.7215 s/op 1.4517 s/op 1.19
BeaconState vc 300000 - batchHashTreeRoot tree 3.2657 s/op 3.1011 s/op 1.05
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 745.00 ns/op 618.00 ns/op 1.21
BeaconState.validators vc 300000 - hashTreeRoot tree 1.7132 s/op 1.4495 s/op 1.18
BeaconState.balances vc 300000 - hashTreeRoot tree 27.026 ms/op 20.595 ms/op 1.31
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.3745 ms/op 2.5554 ms/op 1.32
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.3664 ms/op 2.5607 ms/op 1.31
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 27.057 ms/op 20.639 ms/op 1.31
hash64 x18 6.1180 us/op 4.7780 us/op 1.28
hashTwoObjects x18 6.0910 us/op 4.7940 us/op 1.27
hash64 x1740 571.47 us/op 441.94 us/op 1.29
hashTwoObjects x1740 570.81 us/op 445.78 us/op 1.28
hash64 x2700000 894.08 ms/op 706.27 ms/op 1.27
hashTwoObjects x2700000 885.45 ms/op 692.03 ms/op 1.28
get_exitEpoch - ContainerType 163.00 ns/op 133.00 ns/op 1.23
get_exitEpoch - ContainerNodeStructType 175.00 ns/op 136.00 ns/op 1.29
set_exitEpoch - ContainerType 195.00 ns/op 143.00 ns/op 1.36
set_exitEpoch - ContainerNodeStructType 175.00 ns/op 134.00 ns/op 1.31
get_pubkey - ContainerType 732.00 ns/op 601.00 ns/op 1.22
get_pubkey - ContainerNodeStructType 164.00 ns/op 127.00 ns/op 1.29
hashTreeRoot - ContainerType 304.00 ns/op 213.00 ns/op 1.43
hashTreeRoot - ContainerNodeStructType 294.00 ns/op 209.00 ns/op 1.41
createProof - ContainerType 3.0700 us/op 2.5500 us/op 1.20
createProof - ContainerNodeStructType 17.260 us/op 12.885 us/op 1.34
serialize - ContainerType 1.3250 us/op 1.1230 us/op 1.18
serialize - ContainerNodeStructType 890.00 ns/op 856.00 ns/op 1.04
set_exitEpoch_and_hashTreeRoot - ContainerType 2.0760 us/op 1.7310 us/op 1.20
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 5.7340 us/op 4.5830 us/op 1.25
doBatchHashTreeRootValidators 3.2310 us/op 2.6680 us/op 1.21
ContainerNodeStructViewDU hashTreeRoot 20.213 us/op 16.321 us/op 1.24
Array - for of 9.1820 us/op 4.9810 us/op 1.84
Array - for(;;) 9.1170 us/op 4.6780 us/op 1.95
basicListValue.readonlyValuesArray() 3.0316 ms/op 2.5361 ms/op 1.20
basicListValue.readonlyValuesArray() + loop all 3.6242 ms/op 3.1530 ms/op 1.15
compositeListValue.readonlyValuesArray() 10.485 ms/op 8.4981 ms/op 1.23
compositeListValue.readonlyValuesArray() + loop all 11.000 ms/op 12.423 ms/op 0.89
Number64UintType - get balances list 2.6378 ms/op 2.3212 ms/op 1.14
Number64UintType - set balances list 10.001 ms/op 7.4164 ms/op 1.35
Number64UintType - get and increase 10 then set 27.375 ms/op 22.377 ms/op 1.22
Number64UintType - increase 10 using applyDelta 14.599 ms/op 11.298 ms/op 1.29
Number64UintType - increase 10 using applyDeltaInBatch 14.714 ms/op 11.470 ms/op 1.28
tree_newTreeFromUint64Deltas 12.535 ms/op 10.952 ms/op 1.14
unsafeUint8ArrayToTree 20.946 ms/op 15.999 ms/op 1.31
bitLength(50) 186.00 ns/op 150.00 ns/op 1.24
bitLengthStr(50) 192.00 ns/op 147.00 ns/op 1.31
bitLength(8000) 186.00 ns/op 145.00 ns/op 1.28
bitLengthStr(8000) 233.00 ns/op 186.00 ns/op 1.25
bitLength(250000) 186.00 ns/op 144.00 ns/op 1.29
bitLengthStr(250000) 268.00 ns/op 215.00 ns/op 1.25
merkleize 32 chunks 10.991 us/op 8.5590 us/op 1.28
merkleizeBlocksBytes 32 chunks 2.6330 us/op 2.2030 us/op 1.20
merkleizeBlockArray 32 chunks 4.8640 us/op 3.8910 us/op 1.25
merkleize 128 chunks 43.910 us/op 34.382 us/op 1.28
merkleizeBlocksBytes 128 chunks 6.6320 us/op 5.6460 us/op 1.17
merkleizeBlockArray 128 chunks 14.174 us/op 11.333 us/op 1.25
merkleize 512 chunks 175.89 us/op 138.30 us/op 1.27
merkleizeBlocksBytes 512 chunks 21.412 us/op 18.370 us/op 1.17
merkleizeBlockArray 512 chunks 49.008 us/op 39.575 us/op 1.24
merkleize 1024 chunks 358.77 us/op 277.85 us/op 1.29
merkleizeBlocksBytes 1024 chunks 40.706 us/op 34.931 us/op 1.17
merkleizeBlockArray 1024 chunks 95.197 us/op 76.593 us/op 1.24
floor - Math.floor (53) 0.35017 ns/op 0.30700 ns/op 1.14
floor - << 0 (53) 0.35017 ns/op 0.30694 ns/op 1.14
floor - Math.floor (512) 0.35013 ns/op 0.30688 ns/op 1.14
floor - << 0 (512) 0.35012 ns/op 0.30687 ns/op 1.14
fnIf(0) 1.4985 ns/op 1.2270 ns/op 1.22
fnSwitch(0) 2.5455 ns/op 1.9878 ns/op 1.28
fnObj(0) 0.35014 ns/op 0.30684 ns/op 1.14
fnArr(0) 0.35029 ns/op 0.30687 ns/op 1.14
fnIf(4) 2.1777 ns/op 1.9088 ns/op 1.14
fnSwitch(4) 2.1776 ns/op 1.9033 ns/op 1.14
fnObj(4) 0.35014 ns/op 0.30698 ns/op 1.14
fnArr(4) 0.35039 ns/op 0.30689 ns/op 1.14
fnIf(9) 3.1105 ns/op 2.5895 ns/op 1.20
fnSwitch(9) 2.1788 ns/op 1.9038 ns/op 1.14
fnObj(9) 0.35010 ns/op 0.30688 ns/op 1.14
fnArr(9) 0.35019 ns/op 0.30699 ns/op 1.14
Container {a,b,vec} - as struct x100000 34.831 us/op 30.566 us/op 1.14
Container {a,b,vec} - as tree x100000 653.47 us/op 491.33 us/op 1.33
Container {a,vec,b} - as struct x100000 77.217 us/op 67.788 us/op 1.14
Container {a,vec,b} - as tree x100000 995.41 us/op 766.30 us/op 1.30
get 2 props x1000000 - rawObject 311.25 us/op 272.84 us/op 1.14
get 2 props x1000000 - proxy 78.137 ms/op 62.964 ms/op 1.24
get 2 props x1000000 - customObj 311.31 us/op 272.81 us/op 1.14
Simple object binary -> struct 434.00 ns/op 326.00 ns/op 1.33
Simple object binary -> tree_backed 942.00 ns/op 742.00 ns/op 1.27
Simple object struct -> tree_backed 1.3750 us/op 1.1810 us/op 1.16
Simple object tree_backed -> struct 1.2320 us/op 997.00 ns/op 1.24
Simple object struct -> binary 677.00 ns/op 579.00 ns/op 1.17
Simple object tree_backed -> binary 1.0390 us/op 898.00 ns/op 1.16
aggregationBits binary -> struct 374.00 ns/op 280.00 ns/op 1.34
aggregationBits binary -> tree_backed 1.6630 us/op 1.4300 us/op 1.16
aggregationBits struct -> tree_backed 1.9360 us/op 1.8550 us/op 1.04
aggregationBits tree_backed -> struct 794.00 ns/op 673.00 ns/op 1.18
aggregationBits struct -> binary 573.00 ns/op 497.00 ns/op 1.15
aggregationBits tree_backed -> binary 686.00 ns/op 596.00 ns/op 1.15
List(uint8) 100000 binary -> struct 700.20 us/op 620.59 us/op 1.13
List(uint8) 100000 binary -> tree_backed 230.87 us/op 186.23 us/op 1.24
List(uint8) 100000 struct -> tree_backed 1.4595 ms/op 1.2274 ms/op 1.19
List(uint8) 100000 tree_backed -> struct 788.39 us/op 671.33 us/op 1.17
List(uint8) 100000 struct -> binary 1.3494 ms/op 1.0433 ms/op 1.29
List(uint8) 100000 tree_backed -> binary 200.06 us/op 141.71 us/op 1.41
List(uint64Number) 100000 binary -> struct 1.0448 ms/op 841.38 us/op 1.24
List(uint64Number) 100000 binary -> tree_backed 1.9395 ms/op 1.5439 ms/op 1.26
List(uint64Number) 100000 struct -> tree_backed 3.6429 ms/op 2.8729 ms/op 1.27
List(uint64Number) 100000 tree_backed -> struct 1.7855 ms/op 1.3971 ms/op 1.28
List(uint64Number) 100000 struct -> binary 2.5604 ms/op 2.2908 ms/op 1.12
List(uint64Number) 100000 tree_backed -> binary 1.7711 ms/op 1.1814 ms/op 1.50
List(Uint64Bigint) 100000 binary -> struct 1.5662 ms/op 1.3257 ms/op 1.18
List(Uint64Bigint) 100000 binary -> tree_backed 1.9400 ms/op 1.5480 ms/op 1.25
List(Uint64Bigint) 100000 struct -> tree_backed 3.4630 ms/op 2.7409 ms/op 1.26
List(Uint64Bigint) 100000 tree_backed -> struct 2.3218 ms/op 1.8690 ms/op 1.24
List(Uint64Bigint) 100000 struct -> binary 2.3004 ms/op 2.0754 ms/op 1.11
List(Uint64Bigint) 100000 tree_backed -> binary 1.6428 ms/op 1.2197 ms/op 1.35
Vector(Root) 100000 binary -> struct 11.102 ms/op 9.4828 ms/op 1.17
Vector(Root) 100000 binary -> tree_backed 18.472 ms/op 14.668 ms/op 1.26
Vector(Root) 100000 struct -> tree_backed 22.073 ms/op 17.110 ms/op 1.29
Vector(Root) 100000 tree_backed -> struct 14.690 ms/op 11.900 ms/op 1.23
Vector(Root) 100000 struct -> binary 6.5312 ms/op 4.3883 ms/op 1.49
Vector(Root) 100000 tree_backed -> binary 4.5466 ms/op 3.6160 ms/op 1.26
List(Validator) 100000 binary -> struct 66.133 ms/op 54.465 ms/op 1.21
List(Validator) 100000 binary -> tree_backed 191.74 ms/op 156.74 ms/op 1.22
List(Validator) 100000 struct -> tree_backed 219.51 ms/op 179.90 ms/op 1.22
List(Validator) 100000 tree_backed -> struct 135.69 ms/op 140.25 ms/op 0.97
List(Validator) 100000 struct -> binary 43.899 ms/op 33.288 ms/op 1.32
List(Validator) 100000 tree_backed -> binary 68.449 ms/op 88.337 ms/op 0.77
List(Validator-NS) 100000 binary -> struct 67.105 ms/op 56.787 ms/op 1.18
List(Validator-NS) 100000 binary -> tree_backed 95.749 ms/op 83.570 ms/op 1.15
List(Validator-NS) 100000 struct -> tree_backed 104.32 ms/op 95.536 ms/op 1.09
List(Validator-NS) 100000 tree_backed -> struct 103.81 ms/op 90.842 ms/op 1.14
List(Validator-NS) 100000 struct -> binary 14.187 ms/op 9.4883 ms/op 1.50
List(Validator-NS) 100000 tree_backed -> binary 21.232 ms/op 19.301 ms/op 1.10
get epochStatuses - MutableVector 104.45 us/op 86.537 us/op 1.21
get epochStatuses - ViewDU 167.68 us/op 134.46 us/op 1.25
set epochStatuses - ListTreeView 1.8679 ms/op 1.4329 ms/op 1.30
set epochStatuses - ListTreeView - set() 479.90 us/op 364.30 us/op 1.32
set epochStatuses - ListTreeView - commit() 736.55 us/op 560.86 us/op 1.31
bitstring 462.25 ns/op 380.93 ns/op 1.21
bit mask 7.1952 ns/op 6.3502 ns/op 1.13
struct - increase slot to 1000000 350.23 us/op 306.90 us/op 1.14
UintNumberType - increase slot to 1000000 29.274 ms/op 19.664 ms/op 1.49
UintBigintType - increase slot to 1000000 180.19 ms/op 124.08 ms/op 1.45
UintBigint8 x 100000 tree_deserialize 5.3481 ms/op 3.9936 ms/op 1.34
UintBigint8 x 100000 tree_serialize 1.2453 ms/op 954.47 us/op 1.30
UintBigint16 x 100000 tree_deserialize 5.6029 ms/op 4.0367 ms/op 1.39
UintBigint16 x 100000 tree_serialize 1.2756 ms/op 983.88 us/op 1.30
UintBigint32 x 100000 tree_deserialize 4.8082 ms/op 3.7406 ms/op 1.29
UintBigint32 x 100000 tree_serialize 1.6280 ms/op 1.3231 ms/op 1.23
UintBigint64 x 100000 tree_deserialize 5.1664 ms/op 4.1188 ms/op 1.25
UintBigint64 x 100000 tree_serialize 2.3564 ms/op 1.2744 ms/op 1.85
UintBigint8 x 100000 value_deserialize 405.20 us/op 327.40 us/op 1.24
UintBigint8 x 100000 value_serialize 375.14 us/op 314.15 us/op 1.19
UintBigint16 x 100000 value_deserialize 466.81 us/op 354.50 us/op 1.32
UintBigint16 x 100000 value_serialize 363.75 us/op 334.72 us/op 1.09
UintBigint32 x 100000 value_deserialize 466.74 us/op 381.83 us/op 1.22
UintBigint32 x 100000 value_serialize 406.57 us/op 377.58 us/op 1.08
UintBigint64 x 100000 value_deserialize 529.09 us/op 409.09 us/op 1.29
UintBigint64 x 100000 value_serialize 525.50 us/op 497.63 us/op 1.06
UintBigint8 x 100000 deserialize 1.9209 ms/op 1.7199 ms/op 1.12
UintBigint8 x 100000 serialize 1.5316 ms/op 1.4149 ms/op 1.08
UintBigint16 x 100000 deserialize 1.9939 ms/op 1.7787 ms/op 1.12
UintBigint16 x 100000 serialize 2.8812 ms/op 1.9631 ms/op 1.47
UintBigint32 x 100000 deserialize 2.0279 ms/op 1.7039 ms/op 1.19
UintBigint32 x 100000 serialize 2.7265 ms/op 2.1056 ms/op 1.29
UintBigint64 x 100000 deserialize 1.9167 ms/op 1.7132 ms/op 1.12
UintBigint64 x 100000 serialize 1.1522 ms/op 933.65 us/op 1.23
UintBigint128 x 100000 deserialize 2.3048 ms/op 1.8912 ms/op 1.22
UintBigint128 x 100000 serialize 11.907 ms/op 9.0242 ms/op 1.32
UintBigint256 x 100000 deserialize 3.0215 ms/op 2.5259 ms/op 1.20
UintBigint256 x 100000 serialize 38.101 ms/op 29.072 ms/op 1.31
Slice from Uint8Array x25000 934.51 us/op 735.70 us/op 1.27
Slice from ArrayBuffer x25000 9.9857 ms/op 10.960 ms/op 0.91
Slice from ArrayBuffer x25000 + new Uint8Array 16.531 ms/op 13.046 ms/op 1.27
Copy Uint8Array 100000 iterate 950.35 us/op 702.63 us/op 1.35
Copy Uint8Array 100000 slice 182.91 us/op 52.134 us/op 3.51
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 77.932 us/op 51.670 us/op 1.51
Copy Buffer 100000 Uint8Array.prototype.slice.call 77.370 us/op 51.761 us/op 1.49
Copy Uint8Array 100000 slice + set 143.19 us/op 102.38 us/op 1.40
Copy Uint8Array 100000 subarray + set 71.957 us/op 51.182 us/op 1.41
Copy Uint8Array 100000 slice arrayBuffer 74.028 us/op 51.471 us/op 1.44
Uint64 deserialize 100000 - iterate Uint8Array 1.2432 ms/op 1.1774 ms/op 1.06
Uint64 deserialize 100000 - by Uint32A 1.2369 ms/op 1.1635 ms/op 1.06
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.3961 ms/op 1.2625 ms/op 1.11
Uint64 deserialize 100000 - by DataView.getBigUint64 3.6559 ms/op 3.0022 ms/op 1.22
Uint64 deserialize 100000 - by byte 15.685 ms/op 11.956 ms/op 1.31

by benchmarkbot/action

This branch has not been deployed

No deployments
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.

0 participants