Skip to content

chore: release master#526

Merged
nflaig merged 1 commit into
masterfrom
release-please--branches--master
Apr 21, 2026
Merged

chore: release master#526
nflaig merged 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.4.0

1.4.0 (2026-04-21)

Features

  • allow array-like input for VectorCompositeType views (#525) (0feec86)

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 13:57
@nflaig nflaig enabled auto-merge (squash) April 21, 2026 14:01
@github-actions github-actions Bot added the ssz label Apr 21, 2026
@nflaig nflaig merged commit 07fb121 into master Apr 21, 2026
5 checks passed
@nflaig nflaig deleted the release-please--branches--master branch April 21, 2026 14:12
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

@github-actions

Copy link
Copy Markdown
Contributor Author

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 514586a Previous: 5ae98cf Ratio
digestTwoHashObjects 50023 times 48.141 ms/op 49.736 ms/op 0.97
digest2Bytes32 50023 times 54.868 ms/op 55.983 ms/op 0.98
digest 50023 times 54.940 ms/op 54.969 ms/op 1.00
input length 32 1.2480 us/op 1.2630 us/op 0.99
input length 64 1.3920 us/op 1.4400 us/op 0.97
input length 128 2.3110 us/op 2.5070 us/op 0.92
input length 256 3.4880 us/op 3.6180 us/op 0.96
input length 512 5.6260 us/op 5.9770 us/op 0.94
input length 1024 10.682 us/op 11.117 us/op 0.96
digest 1000000 times 878.19 ms/op 865.72 ms/op 1.01
hashObjectToByteArray 50023 times 935.72 us/op 962.83 us/op 0.97
byteArrayToHashObject 50023 times 1.3331 ms/op 1.4818 ms/op 0.90
digest64 200092 times 213.31 ms/op 220.47 ms/op 0.97
hash 200092 times using batchHash4UintArray64s 246.71 ms/op 116.09 ms/op 2.13
digest64HashObjects 200092 times 191.12 ms/op 198.59 ms/op 0.96
hash 200092 times using batchHash4HashObjectInputs 202.86 ms/op 77.083 ms/op 2.63
getGindicesAtDepth 3.7370 us/op 3.7040 us/op 1.01
iterateAtDepth 6.7720 us/op 6.9330 us/op 0.98
getGindexBits 448.00 ns/op 500.00 ns/op 0.90
gindexIterator 989.00 ns/op 1.0490 us/op 0.94
HashComputationLevel.push then loop 26.685 ms/op 35.485 ms/op 0.75
HashComputation[] push then loop 47.625 ms/op 49.598 ms/op 0.96
hash 2 32 bytes Uint8Array 500000 times - hashtree 145.65 ms/op 142.89 ms/op 1.02
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.682 ms/op 38.036 ms/op 0.65
hashTwoObjects 500000 times - hashtree 171.07 ms/op 166.57 ms/op 1.03
executeHashComputations - hashtree 9.3007 ms/op 9.7263 ms/op 0.96
hash 2 32 bytes Uint8Array 500000 times - as-sha256 490.08 ms/op 498.80 ms/op 0.98
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 542.81 ms/op 209.40 ms/op 2.59
hashTwoObjects 500000 times - as-sha256 510.37 ms/op 516.18 ms/op 0.99
executeHashComputations - as-sha256 46.541 ms/op 23.554 ms/op 1.98
hash 2 32 bytes Uint8Array 500000 times - noble 1.3143 s/op 1.2993 s/op 1.01
batch hash 16 x 64 Uint8Array 31250 times - noble 1.2563 s/op 1.2714 s/op 0.99
hashTwoObjects 500000 times - noble 1.6396 s/op 1.7775 s/op 0.92
executeHashComputations - noble 36.452 ms/op 37.235 ms/op 0.98
getHashComputations 2.3268 ms/op 1.8593 ms/op 1.25
executeHashComputations 9.9404 ms/op 10.769 ms/op 0.92
get root 13.003 ms/op 12.763 ms/op 1.02
getNodeH() x7812.5 avg hindex 12.355 us/op 13.743 us/op 0.90
getNodeH() x7812.5 index 0 7.4840 us/op 7.1980 us/op 1.04
getNodeH() x7812.5 index 7 7.4980 us/op 7.0090 us/op 1.07
getNodeH() x7812.5 index 7 with key array 6.4580 us/op 7.8020 us/op 0.83
new LeafNode() x7812.5 318.80 us/op 325.67 us/op 0.98
getHashComputations 250000 nodes 15.017 ms/op 11.987 ms/op 1.25
batchHash 250000 nodes 83.087 ms/op 90.034 ms/op 0.92
get root 250000 nodes 96.459 ms/op 95.846 ms/op 1.01
getHashComputations 500000 nodes 28.433 ms/op 27.157 ms/op 1.05
batchHash 500000 nodes 148.82 ms/op 172.92 ms/op 0.86
get root 500000 nodes 199.61 ms/op 192.10 ms/op 1.04
getHashComputations 1000000 nodes 62.126 ms/op 45.220 ms/op 1.37
batchHash 1000000 nodes 337.30 ms/op 383.61 ms/op 0.88
get root 1000000 nodes 396.75 ms/op 396.34 ms/op 1.00
multiproof - depth 15, 1 requested leaves 8.4340 us/op 7.9970 us/op 1.05
tree offset multiproof - depth 15, 1 requested leaves 18.405 us/op 18.601 us/op 0.99
compact multiproof - depth 15, 1 requested leaves 3.8680 us/op 4.2390 us/op 0.91
multiproof - depth 15, 2 requested leaves 11.666 us/op 11.581 us/op 1.01
tree offset multiproof - depth 15, 2 requested leaves 22.055 us/op 22.412 us/op 0.98
compact multiproof - depth 15, 2 requested leaves 3.8790 us/op 4.0830 us/op 0.95
multiproof - depth 15, 3 requested leaves 17.384 us/op 15.613 us/op 1.11
tree offset multiproof - depth 15, 3 requested leaves 27.928 us/op 27.632 us/op 1.01
compact multiproof - depth 15, 3 requested leaves 4.8250 us/op 4.5400 us/op 1.06
multiproof - depth 15, 4 requested leaves 22.025 us/op 21.140 us/op 1.04
tree offset multiproof - depth 15, 4 requested leaves 34.901 us/op 34.201 us/op 1.02
compact multiproof - depth 15, 4 requested leaves 4.2990 us/op 4.6840 us/op 0.92
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.2750 us/op 6.0520 us/op 1.04
packedRootsBytesToLeafNodes bytes 4000 offset 1 6.0470 us/op 6.1620 us/op 0.98
packedRootsBytesToLeafNodes bytes 4000 offset 2 6.1550 us/op 6.3720 us/op 0.97
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.9960 us/op 6.4220 us/op 0.93
subtreeFillToContents depth 40 count 250000 43.674 ms/op 52.196 ms/op 0.84
setRoot - gindexBitstring 21.217 ms/op 20.458 ms/op 1.04
setRoot - gindex 22.527 ms/op 21.769 ms/op 1.03
getRoot - gindexBitstring 2.6140 ms/op 2.3266 ms/op 1.12
getRoot - gindex 3.0271 ms/op 3.1366 ms/op 0.97
getHashObject then setHashObject 21.540 ms/op 23.222 ms/op 0.93
setNodeWithFn 19.480 ms/op 21.146 ms/op 0.92
getNodeAtDepth depth 0 x100000 281.34 us/op 260.14 us/op 1.08
setNodeAtDepth depth 0 x100000 2.5503 ms/op 2.1262 ms/op 1.20
getNodesAtDepth depth 0 x100000 312.33 us/op 299.72 us/op 1.04
setNodesAtDepth depth 0 x100000 756.44 us/op 700.56 us/op 1.08
getNodeAtDepth depth 1 x100000 343.05 us/op 285.23 us/op 1.20
setNodeAtDepth depth 1 x100000 8.0144 ms/op 7.6284 ms/op 1.05
getNodesAtDepth depth 1 x100000 437.48 us/op 355.93 us/op 1.23
setNodesAtDepth depth 1 x100000 6.7391 ms/op 6.4855 ms/op 1.04
getNodeAtDepth depth 2 x100000 770.02 us/op 662.55 us/op 1.16
setNodeAtDepth depth 2 x100000 16.048 ms/op 14.281 ms/op 1.12
getNodesAtDepth depth 2 x100000 17.977 ms/op 17.876 ms/op 1.01
setNodesAtDepth depth 2 x100000 23.355 ms/op 21.735 ms/op 1.07
tree.getNodesAtDepth - gindexes 9.4682 ms/op 8.0145 ms/op 1.18
tree.getNodesAtDepth - push all nodes 2.2398 ms/op 1.9378 ms/op 1.16
tree.getNodesAtDepth - navigation 313.84 us/op 288.54 us/op 1.09
tree.setNodesAtDepth - indexes 715.22 us/op 748.96 us/op 0.95
set at depth 8 874.00 ns/op 1.0380 us/op 0.84
set at depth 16 1.2110 us/op 1.2330 us/op 0.98
set at depth 32 2.0590 us/op 2.3350 us/op 0.88
iterateNodesAtDepth 8 256 14.777 us/op 14.213 us/op 1.04
getNodesAtDepth 8 256 3.7290 us/op 3.6740 us/op 1.01
iterateNodesAtDepth 16 65536 4.6006 ms/op 4.2240 ms/op 1.09
getNodesAtDepth 16 65536 1.1973 ms/op 1.0384 ms/op 1.15
iterateNodesAtDepth 32 250000 16.924 ms/op 15.601 ms/op 1.08
getNodesAtDepth 32 250000 4.8316 ms/op 4.5101 ms/op 1.07
iterateNodesAtDepth 40 250000 17.037 ms/op 15.633 ms/op 1.09
getNodesAtDepth 40 250000 4.9461 ms/op 4.5695 ms/op 1.08
250000 validators root getter 98.701 ms/op 97.128 ms/op 1.02
250000 validators batchHash() 102.25 ms/op 98.068 ms/op 1.04
250000 validators hashComputations 16.169 ms/op 11.923 ms/op 1.36
bitlist bytes to struct (120,90) 505.00 ns/op 614.00 ns/op 0.82
bitlist bytes to tree (120,90) 2.1800 us/op 2.5310 us/op 0.86
bitlist bytes to struct (2048,2048) 980.00 ns/op 1.2010 us/op 0.82
bitlist bytes to tree (2048,2048) 3.8160 us/op 4.5690 us/op 0.84
ByteListType - deserialize 9.3887 ms/op 13.862 ms/op 0.68
BasicListType - deserialize 9.7447 ms/op 10.235 ms/op 0.95
ByteListType - serialize 8.5766 ms/op 12.984 ms/op 0.66
BasicListType - serialize 11.137 ms/op 15.076 ms/op 0.74
BasicListType - tree_convertToStruct 21.287 ms/op 23.689 ms/op 0.90
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.9239 ms/op 3.8383 ms/op 1.28
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.4042 ms/op 3.4704 ms/op 1.27
Array.push len 300000 empty Array - number 6.7375 ms/op 6.0675 ms/op 1.11
Array.set len 300000 from new Array - number 1.9480 ms/op 1.8054 ms/op 1.08
Array.set len 300000 - number 6.4418 ms/op 5.3278 ms/op 1.21
Uint8Array.set len 300000 394.49 us/op 295.88 us/op 1.33
Uint32Array.set len 300000 498.28 us/op 380.51 us/op 1.31
Container({a: uint8, b: uint8}) getViewDU x300000 31.274 ms/op 33.115 ms/op 0.94
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.319 ms/op 10.815 ms/op 1.05
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 200.00 ms/op 223.45 ms/op 0.90
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 263.49 ms/op 295.11 ms/op 0.89
List(Container) len 300000 ViewDU.get(i) 7.0919 ms/op 7.8977 ms/op 0.90
List(Container) len 300000 ViewDU.getReadonly(i) 6.9446 ms/op 8.0632 ms/op 0.86
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 33.850 ms/op 38.936 ms/op 0.87
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.4621 ms/op 6.0089 ms/op 0.91
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.1966 ms/op 7.0736 ms/op 0.88
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.3920 ms/op 7.0634 ms/op 0.90
Array.push len 300000 empty Array - object 6.9684 ms/op 5.7786 ms/op 1.21
Array.set len 300000 from new Array - object 2.2778 ms/op 2.3858 ms/op 0.95
Array.set len 300000 - object 6.7646 ms/op 6.1715 ms/op 1.10
cachePermanentRootStruct no cache 3.3180 us/op 3.5780 us/op 0.93
cachePermanentRootStruct with cache 178.00 ns/op 242.00 ns/op 0.74
epochParticipation len 250000 rws 7813 2.4406 ms/op 2.5301 ms/op 0.96
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.9170 ms/op 5.1018 ms/op 0.96
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 216.80 ms/op 252.15 ms/op 0.86
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 187.96 ms/op 209.94 ms/op 0.90
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 47.341 ms/op 52.386 ms/op 0.90
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 708.89 ms/op 711.65 ms/op 1.00
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 65.719 ms/op 62.800 ms/op 1.05
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 273.64 ms/op 292.74 ms/op 0.93
deserialize Attestation - tree 3.9300 us/op 4.0050 us/op 0.98
deserialize Attestation - struct 2.1300 us/op 2.1690 us/op 0.98
deserialize Attestation - struct (reuse bytes) 1.5630 us/op 1.5660 us/op 1.00
deserialize SignedAggregateAndProof - tree 5.0760 us/op 5.3610 us/op 0.95
deserialize SignedAggregateAndProof - struct 3.2330 us/op 3.8580 us/op 0.84
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.9780 us/op 2.0070 us/op 0.99
deserialize SyncCommitteeMessage - tree 1.5180 us/op 1.6220 us/op 0.94
deserialize SyncCommitteeMessage - struct 1.1260 us/op 1.2880 us/op 0.87
deserialize SyncCommitteeMessage - struct (reuse bytes) 806.00 ns/op 861.00 ns/op 0.94
deserialize SignedContributionAndProof - tree 3.0580 us/op 3.1440 us/op 0.97
deserialize SignedContributionAndProof - struct 2.5310 us/op 2.9890 us/op 0.85
deserialize SignedContributionAndProof - struct (reuse bytes) 1.3790 us/op 1.4220 us/op 0.97
deserialize SignedBeaconBlock - tree 302.52 us/op 308.33 us/op 0.98
deserialize SignedBeaconBlock - struct 121.73 us/op 147.67 us/op 0.82
deserialize SignedBeaconBlock - struct (reuse bytes) 76.965 us/op 81.245 us/op 0.95
BeaconState vc 300000 - deserialize tree 650.89 ms/op 675.60 ms/op 0.96
BeaconState vc 300000 - serialize tree 98.190 ms/op 102.63 ms/op 0.96
BeaconState.historicalRoots vc 300000 - deserialize tree 1.0510 us/op 1.0340 us/op 1.02
BeaconState.historicalRoots vc 300000 - serialize tree 701.00 ns/op 880.00 ns/op 0.80
BeaconState.validators vc 300000 - deserialize tree 623.16 ms/op 618.97 ms/op 1.01
BeaconState.validators vc 300000 - serialize tree 37.273 ms/op 35.972 ms/op 1.04
BeaconState.balances vc 300000 - deserialize tree 29.104 ms/op 30.370 ms/op 0.96
BeaconState.balances vc 300000 - serialize tree 3.9609 ms/op 4.0935 ms/op 0.97
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.0222 ms/op 1.0329 ms/op 0.99
BeaconState.previousEpochParticipation vc 300000 - serialize tree 325.31 us/op 370.43 us/op 0.88
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0062 ms/op 986.09 us/op 1.02
BeaconState.currentEpochParticipation vc 300000 - serialize tree 331.94 us/op 373.18 us/op 0.89
BeaconState.inactivityScores vc 300000 - deserialize tree 26.470 ms/op 29.222 ms/op 0.91
BeaconState.inactivityScores vc 300000 - serialize tree 3.6311 ms/op 4.1631 ms/op 0.87
hashTreeRoot Attestation - struct 9.9450 us/op 11.010 us/op 0.90
hashTreeRoot Attestation - tree 7.5670 us/op 7.6490 us/op 0.99
hashTreeRoot SignedAggregateAndProof - struct 12.631 us/op 13.117 us/op 0.96
hashTreeRoot SignedAggregateAndProof - tree 11.237 us/op 11.131 us/op 1.01
hashTreeRoot SyncCommitteeMessage - struct 3.2700 us/op 3.4720 us/op 0.94
hashTreeRoot SyncCommitteeMessage - tree 2.8760 us/op 3.0380 us/op 0.95
hashTreeRoot SignedContributionAndProof - struct 7.8460 us/op 8.4770 us/op 0.93
hashTreeRoot SignedContributionAndProof - tree 7.9420 us/op 7.8440 us/op 1.01
hashTreeRoot SignedBeaconBlock - struct 798.25 us/op 784.13 us/op 1.02
hashTreeRoot SignedBeaconBlock - tree 679.83 us/op 654.18 us/op 1.04
hashTreeRoot Validator - struct 4.4710 us/op 4.8150 us/op 0.93
hashTreeRoot Validator - tree 5.9420 us/op 6.5300 us/op 0.91
BeaconState vc 300000 - hashTreeRoot tree 2.0617 s/op 2.1247 s/op 0.97
BeaconState vc 300000 - batchHashTreeRoot tree 3.9784 s/op 4.1649 s/op 0.96
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 882.00 ns/op 835.00 ns/op 1.06
BeaconState.validators vc 300000 - hashTreeRoot tree 2.2354 s/op 2.3495 s/op 0.95
BeaconState.balances vc 300000 - hashTreeRoot tree 32.517 ms/op 28.089 ms/op 1.16
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.6231 ms/op 3.4962 ms/op 1.04
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.5447 ms/op 3.4931 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 28.572 ms/op 28.163 ms/op 1.01
hash64 x18 7.9010 us/op 8.0730 us/op 0.98
hashTwoObjects x18 6.7560 us/op 7.2730 us/op 0.93
hash64 x1740 698.09 us/op 652.23 us/op 1.07
hashTwoObjects x1740 624.32 us/op 597.46 us/op 1.04
hash64 x2700000 1.0774 s/op 1.0102 s/op 1.07
hashTwoObjects x2700000 970.20 ms/op 924.46 ms/op 1.05
get_exitEpoch - ContainerType 241.00 ns/op 261.00 ns/op 0.92
get_exitEpoch - ContainerNodeStructType 275.00 ns/op 282.00 ns/op 0.98
set_exitEpoch - ContainerType 264.00 ns/op 290.00 ns/op 0.91
set_exitEpoch - ContainerNodeStructType 271.00 ns/op 297.00 ns/op 0.91
get_pubkey - ContainerType 1.0800 us/op 1.3600 us/op 0.79
get_pubkey - ContainerNodeStructType 285.00 ns/op 268.00 ns/op 1.06
hashTreeRoot - ContainerType 483.00 ns/op 533.00 ns/op 0.91
hashTreeRoot - ContainerNodeStructType 431.00 ns/op 475.00 ns/op 0.91
createProof - ContainerType 3.7230 us/op 4.3990 us/op 0.85
createProof - ContainerNodeStructType 20.352 us/op 21.552 us/op 0.94
serialize - ContainerType 1.7710 us/op 2.0090 us/op 0.88
serialize - ContainerNodeStructType 1.1930 us/op 1.3950 us/op 0.86
set_exitEpoch_and_hashTreeRoot - ContainerType 2.5130 us/op 2.7590 us/op 0.91
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 6.7360 us/op 7.3360 us/op 0.92
doBatchHashTreeRootValidators 3.6050 us/op 4.6790 us/op 0.77
ContainerNodeStructViewDU hashTreeRoot 23.692 us/op 24.479 us/op 0.97
Array - for of 5.6540 us/op 8.9780 us/op 0.63
Array - for(;;) 5.4400 us/op 8.3880 us/op 0.65
basicListValue.readonlyValuesArray() 3.8106 ms/op 4.4815 ms/op 0.85
basicListValue.readonlyValuesArray() + loop all 4.9788 ms/op 4.6079 ms/op 1.08
compositeListValue.readonlyValuesArray() 27.309 ms/op 27.196 ms/op 1.00
compositeListValue.readonlyValuesArray() + loop all 30.336 ms/op 33.904 ms/op 0.89
Number64UintType - get balances list 5.1900 ms/op 5.1284 ms/op 1.01
Number64UintType - set balances list 10.232 ms/op 9.2849 ms/op 1.10
Number64UintType - get and increase 10 then set 44.965 ms/op 44.026 ms/op 1.02
Number64UintType - increase 10 using applyDelta 16.576 ms/op 16.096 ms/op 1.03
Number64UintType - increase 10 using applyDeltaInBatch 16.880 ms/op 15.760 ms/op 1.07
tree_newTreeFromUint64Deltas 20.622 ms/op 19.708 ms/op 1.05
unsafeUint8ArrayToTree 42.877 ms/op 39.999 ms/op 1.07
bitLength(50) 280.00 ns/op 278.00 ns/op 1.01
bitLengthStr(50) 252.00 ns/op 219.00 ns/op 1.15
bitLength(8000) 266.00 ns/op 262.00 ns/op 1.02
bitLengthStr(8000) 302.00 ns/op 302.00 ns/op 1.00
bitLength(250000) 282.00 ns/op 266.00 ns/op 1.06
bitLengthStr(250000) 318.00 ns/op 309.00 ns/op 1.03
merkleize 32 chunks 14.085 us/op 12.883 us/op 1.09
merkleizeBlocksBytes 32 chunks 3.3100 us/op 4.0960 us/op 0.81
merkleizeBlockArray 32 chunks 6.5630 us/op 7.1510 us/op 0.92
merkleize 128 chunks 54.500 us/op 48.826 us/op 1.12
merkleizeBlocksBytes 128 chunks 7.5690 us/op 10.966 us/op 0.69
merkleizeBlockArray 128 chunks 18.978 us/op 21.092 us/op 0.90
merkleize 512 chunks 220.12 us/op 194.60 us/op 1.13
merkleizeBlocksBytes 512 chunks 22.678 us/op 36.615 us/op 0.62
merkleizeBlockArray 512 chunks 64.158 us/op 72.995 us/op 0.88
merkleize 1024 chunks 436.68 us/op 390.41 us/op 1.12
merkleizeBlocksBytes 1024 chunks 42.765 us/op 70.660 us/op 0.61
merkleizeBlockArray 1024 chunks 123.76 us/op 143.00 us/op 0.87
floor - Math.floor (53) 1.2503 ns/op 1.1527 ns/op 1.08
floor - << 0 (53) 1.2443 ns/op 1.1535 ns/op 1.08
floor - Math.floor (512) 1.2451 ns/op 1.1537 ns/op 1.08
floor - << 0 (512) 1.2465 ns/op 1.1520 ns/op 1.08
fnIf(0) 1.5582 ns/op 1.4416 ns/op 1.08
fnSwitch(0) 2.1810 ns/op 2.1827 ns/op 1.00
fnObj(0) 1.5623 ns/op 1.8784 ns/op 0.83
fnArr(0) 1.5644 ns/op 1.8722 ns/op 0.84
fnIf(4) 2.1802 ns/op 2.2956 ns/op 0.95
fnSwitch(4) 2.1788 ns/op 2.1863 ns/op 1.00
fnObj(4) 1.5625 ns/op 1.8727 ns/op 0.83
fnArr(4) 1.5578 ns/op 1.8767 ns/op 0.83
fnIf(9) 3.1125 ns/op 3.7538 ns/op 0.83
fnSwitch(9) 2.1807 ns/op 2.1913 ns/op 1.00
fnObj(9) 1.5610 ns/op 1.8726 ns/op 0.83
fnArr(9) 1.5603 ns/op 1.8715 ns/op 0.83
Container {a,b,vec} - as struct x100000 124.82 us/op 129.84 us/op 0.96
Container {a,b,vec} - as tree x100000 560.74 us/op 516.40 us/op 1.09
Container {a,vec,b} - as struct x100000 156.16 us/op 144.42 us/op 1.08
Container {a,vec,b} - as tree x100000 560.58 us/op 577.91 us/op 0.97
get 2 props x1000000 - rawObject 312.45 us/op 288.13 us/op 1.08
get 2 props x1000000 - proxy 72.743 ms/op 63.546 ms/op 1.14
get 2 props x1000000 - customObj 312.29 us/op 288.59 us/op 1.08
Simple object binary -> struct 688.00 ns/op 663.00 ns/op 1.04
Simple object binary -> tree_backed 1.7640 us/op 1.9640 us/op 0.90
Simple object struct -> tree_backed 2.3600 us/op 2.7760 us/op 0.85
Simple object tree_backed -> struct 1.6180 us/op 1.8560 us/op 0.87
Simple object struct -> binary 943.00 ns/op 1.1710 us/op 0.81
Simple object tree_backed -> binary 1.3400 us/op 1.5360 us/op 0.87
aggregationBits binary -> struct 510.00 ns/op 557.00 ns/op 0.92
aggregationBits binary -> tree_backed 2.1620 us/op 2.6460 us/op 0.82
aggregationBits struct -> tree_backed 2.7500 us/op 3.2030 us/op 0.86
aggregationBits tree_backed -> struct 1.0760 us/op 1.3460 us/op 0.80
aggregationBits struct -> binary 796.00 ns/op 1.0260 us/op 0.78
aggregationBits tree_backed -> binary 1.1100 us/op 1.0940 us/op 1.01
List(uint8) 100000 binary -> struct 953.05 us/op 902.71 us/op 1.06
List(uint8) 100000 binary -> tree_backed 296.17 us/op 310.65 us/op 0.95
List(uint8) 100000 struct -> tree_backed 1.3836 ms/op 1.2862 ms/op 1.08
List(uint8) 100000 tree_backed -> struct 1.0055 ms/op 889.31 us/op 1.13
List(uint8) 100000 struct -> binary 1.0798 ms/op 956.18 us/op 1.13
List(uint8) 100000 tree_backed -> binary 108.62 us/op 100.04 us/op 1.09
List(uint64Number) 100000 binary -> struct 1.4174 ms/op 1.2977 ms/op 1.09
List(uint64Number) 100000 binary -> tree_backed 4.6961 ms/op 4.5945 ms/op 1.02
List(uint64Number) 100000 struct -> tree_backed 7.1081 ms/op 6.3281 ms/op 1.12
List(uint64Number) 100000 tree_backed -> struct 2.4708 ms/op 2.2883 ms/op 1.08
List(uint64Number) 100000 struct -> binary 1.4629 ms/op 1.3838 ms/op 1.06
List(uint64Number) 100000 tree_backed -> binary 1.0392 ms/op 1.1643 ms/op 0.89
List(Uint64Bigint) 100000 binary -> struct 3.7342 ms/op 3.8313 ms/op 0.97
List(Uint64Bigint) 100000 binary -> tree_backed 5.1664 ms/op 4.7061 ms/op 1.10
List(Uint64Bigint) 100000 struct -> tree_backed 7.0346 ms/op 7.1681 ms/op 0.98
List(Uint64Bigint) 100000 tree_backed -> struct 5.1030 ms/op 4.7656 ms/op 1.07
List(Uint64Bigint) 100000 struct -> binary 2.1260 ms/op 1.8372 ms/op 1.16
List(Uint64Bigint) 100000 tree_backed -> binary 1.4808 ms/op 1.3806 ms/op 1.07
Vector(Root) 100000 binary -> struct 36.051 ms/op 37.171 ms/op 0.97
Vector(Root) 100000 binary -> tree_backed 39.514 ms/op 35.837 ms/op 1.10
Vector(Root) 100000 struct -> tree_backed 49.186 ms/op 54.295 ms/op 0.91
Vector(Root) 100000 tree_backed -> struct 48.745 ms/op 53.558 ms/op 0.91
Vector(Root) 100000 struct -> binary 3.1031 ms/op 2.9316 ms/op 1.06
Vector(Root) 100000 tree_backed -> binary 7.2126 ms/op 6.8305 ms/op 1.06
List(Validator) 100000 binary -> struct 119.58 ms/op 118.23 ms/op 1.01
List(Validator) 100000 binary -> tree_backed 346.27 ms/op 363.99 ms/op 0.95
List(Validator) 100000 struct -> tree_backed 385.15 ms/op 390.63 ms/op 0.99
List(Validator) 100000 tree_backed -> struct 215.30 ms/op 216.65 ms/op 0.99
List(Validator) 100000 struct -> binary 29.399 ms/op 28.171 ms/op 1.04
List(Validator) 100000 tree_backed -> binary 107.91 ms/op 98.563 ms/op 1.09
List(Validator-NS) 100000 binary -> struct 103.94 ms/op 117.93 ms/op 0.88
List(Validator-NS) 100000 binary -> tree_backed 168.77 ms/op 158.68 ms/op 1.06
List(Validator-NS) 100000 struct -> tree_backed 194.13 ms/op 192.51 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> struct 154.07 ms/op 165.88 ms/op 0.93
List(Validator-NS) 100000 struct -> binary 7.6495 ms/op 8.2253 ms/op 0.93
List(Validator-NS) 100000 tree_backed -> binary 13.045 ms/op 14.123 ms/op 0.92
get epochStatuses - MutableVector 95.744 us/op 83.292 us/op 1.15
get epochStatuses - ViewDU 209.61 us/op 220.55 us/op 0.95
set epochStatuses - ListTreeView 2.1809 ms/op 2.2071 ms/op 0.99
set epochStatuses - ListTreeView - set() 444.12 us/op 506.81 us/op 0.88
set epochStatuses - ListTreeView - commit() 883.49 us/op 789.97 us/op 1.12
bitstring 517.24 ns/op 529.11 ns/op 0.98
bit mask 13.419 ns/op 10.392 ns/op 1.29
struct - increase slot to 1000000 935.08 us/op 2.5401 ms/op 0.37
UintNumberType - increase slot to 1000000 27.822 ms/op 26.467 ms/op 1.05
UintBigintType - increase slot to 1000000 174.86 ms/op 173.61 ms/op 1.01
UintBigint8 x 100000 tree_deserialize 5.8307 ms/op 5.5391 ms/op 1.05
UintBigint8 x 100000 tree_serialize 1.1329 ms/op 1.0141 ms/op 1.12
UintBigint16 x 100000 tree_deserialize 5.8554 ms/op 5.4551 ms/op 1.07
UintBigint16 x 100000 tree_serialize 1.4387 ms/op 1.2636 ms/op 1.14
UintBigint32 x 100000 tree_deserialize 5.7642 ms/op 5.7444 ms/op 1.00
UintBigint32 x 100000 tree_serialize 1.9763 ms/op 1.7573 ms/op 1.12
UintBigint64 x 100000 tree_deserialize 6.6027 ms/op 6.0533 ms/op 1.09
UintBigint64 x 100000 tree_serialize 2.9027 ms/op 2.5070 ms/op 1.16
UintBigint8 x 100000 value_deserialize 405.79 us/op 374.74 us/op 1.08
UintBigint8 x 100000 value_serialize 866.25 us/op 906.03 us/op 0.96
UintBigint16 x 100000 value_deserialize 469.03 us/op 406.14 us/op 1.15
UintBigint16 x 100000 value_serialize 865.84 us/op 930.20 us/op 0.93
UintBigint32 x 100000 value_deserialize 498.45 us/op 455.57 us/op 1.09
UintBigint32 x 100000 value_serialize 891.01 us/op 950.23 us/op 0.94
UintBigint64 x 100000 value_deserialize 532.51 us/op 518.39 us/op 1.03
UintBigint64 x 100000 value_serialize 1.0437 ms/op 1.1013 ms/op 0.95
UintBigint8 x 100000 deserialize 3.5479 ms/op 3.4848 ms/op 1.02
UintBigint8 x 100000 serialize 1.6032 ms/op 1.4748 ms/op 1.09
UintBigint16 x 100000 deserialize 3.4589 ms/op 3.5019 ms/op 0.99
UintBigint16 x 100000 serialize 1.6874 ms/op 1.5666 ms/op 1.08
UintBigint32 x 100000 deserialize 3.5152 ms/op 3.5890 ms/op 0.98
UintBigint32 x 100000 serialize 2.8940 ms/op 3.0659 ms/op 0.94
UintBigint64 x 100000 deserialize 4.2223 ms/op 4.2459 ms/op 0.99
UintBigint64 x 100000 serialize 1.6506 ms/op 1.4948 ms/op 1.10
UintBigint128 x 100000 deserialize 5.9142 ms/op 5.5355 ms/op 1.07
UintBigint128 x 100000 serialize 16.495 ms/op 14.766 ms/op 1.12
UintBigint256 x 100000 deserialize 9.1413 ms/op 8.3598 ms/op 1.09
UintBigint256 x 100000 serialize 47.779 ms/op 41.806 ms/op 1.14
Slice from Uint8Array x25000 1.3406 ms/op 1.5005 ms/op 0.89
Slice from ArrayBuffer x25000 17.294 ms/op 20.855 ms/op 0.83
Slice from ArrayBuffer x25000 + new Uint8Array 18.784 ms/op 23.545 ms/op 0.80
Copy Uint8Array 100000 iterate 1.7100 ms/op 1.5766 ms/op 1.08
Copy Uint8Array 100000 slice 142.02 us/op 106.71 us/op 1.33
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 142.03 us/op 104.25 us/op 1.36
Copy Buffer 100000 Uint8Array.prototype.slice.call 126.86 us/op 104.62 us/op 1.21
Copy Uint8Array 100000 slice + set 270.55 us/op 238.03 us/op 1.14
Copy Uint8Array 100000 subarray + set 140.17 us/op 112.75 us/op 1.24
Copy Uint8Array 100000 slice arrayBuffer 132.18 us/op 107.75 us/op 1.23
Uint64 deserialize 100000 - iterate Uint8Array 2.1889 ms/op 1.6990 ms/op 1.29
Uint64 deserialize 100000 - by Uint32A 2.0603 ms/op 1.6797 ms/op 1.23
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0868 ms/op 1.7152 ms/op 1.22
Uint64 deserialize 100000 - by DataView.getBigUint64 5.3538 ms/op 4.8959 ms/op 1.09
Uint64 deserialize 100000 - by byte 40.820 ms/op 50.895 ms/op 0.80

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.

1 participant