Skip to content

chore: release master#520

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

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

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

as-sha256: 1.2.3

1.2.3 (2026-04-21)

Bug Fixes

  • bump package versions to trigger release (#519) (1571989)
persistent-merkle-tree: 1.2.4

1.2.4 (2026-04-21)

Dependencies

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

1.0.2 (2026-04-21)

Bug Fixes

  • bump package versions to trigger release (#519) (1571989)
ssz: 1.3.3

1.3.3 (2026-04-21)

Bug Fixes

  • bump package versions to trigger release (#519) (1571989)

Dependencies

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

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:37
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 merged commit 8e9391b into master Apr 21, 2026
5 checks passed
@matthewkeil matthewkeil deleted the release-please--branches--master branch April 21, 2026 11:43
@github-actions
Copy link
Copy Markdown
Contributor Author

@github-actions
Copy link
Copy Markdown
Contributor Author

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: d69261b Previous: 7781a3d Ratio
digestTwoHashObjects 50023 times 48.157 ms/op 48.382 ms/op 1.00
digest2Bytes32 50023 times 54.558 ms/op 55.602 ms/op 0.98
digest 50023 times 54.728 ms/op 54.560 ms/op 1.00
input length 32 1.2630 us/op 1.2650 us/op 1.00
input length 64 1.4730 us/op 1.4550 us/op 1.01
input length 128 2.4140 us/op 2.3540 us/op 1.03
input length 256 3.4760 us/op 3.6040 us/op 0.96
input length 512 5.6430 us/op 5.8220 us/op 0.97
input length 1024 10.722 us/op 11.052 us/op 0.97
digest 1000000 times 890.78 ms/op 889.87 ms/op 1.00
hashObjectToByteArray 50023 times 948.32 us/op 937.36 us/op 1.01
byteArrayToHashObject 50023 times 1.4939 ms/op 1.5434 ms/op 0.97
digest64 200092 times 220.37 ms/op 223.15 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 235.95 ms/op 241.66 ms/op 0.98
digest64HashObjects 200092 times 191.96 ms/op 192.69 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 199.12 ms/op 199.93 ms/op 1.00
getGindicesAtDepth 3.6560 us/op 4.1280 us/op 0.89
iterateAtDepth 6.3940 us/op 7.1250 us/op 0.90
getGindexBits 470.00 ns/op 500.00 ns/op 0.94
gindexIterator 940.00 ns/op 1.0680 us/op 0.88
HashComputationLevel.push then loop 26.746 ms/op 34.291 ms/op 0.78
HashComputation[] push then loop 48.777 ms/op 56.928 ms/op 0.86
hash 2 32 bytes Uint8Array 500000 times - hashtree 148.90 ms/op 149.39 ms/op 1.00
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.574 ms/op 24.665 ms/op 1.00
hashTwoObjects 500000 times - hashtree 172.74 ms/op 164.99 ms/op 1.05
executeHashComputations - hashtree 8.9703 ms/op 10.491 ms/op 0.86
hash 2 32 bytes Uint8Array 500000 times - as-sha256 497.50 ms/op 493.95 ms/op 1.01
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 523.81 ms/op 562.41 ms/op 0.93
hashTwoObjects 500000 times - as-sha256 506.40 ms/op 502.29 ms/op 1.01
executeHashComputations - as-sha256 47.550 ms/op 50.028 ms/op 0.95
hash 2 32 bytes Uint8Array 500000 times - noble 1.2951 s/op 1.4207 s/op 0.91
batch hash 16 x 64 Uint8Array 31250 times - noble 1.2752 s/op 1.3712 s/op 0.93
hashTwoObjects 500000 times - noble 1.6061 s/op 1.9003 s/op 0.85
executeHashComputations - noble 36.041 ms/op 37.346 ms/op 0.97
getHashComputations 2.0854 ms/op 2.8928 ms/op 0.72
executeHashComputations 9.5042 ms/op 10.879 ms/op 0.87
get root 13.076 ms/op 13.121 ms/op 1.00
getNodeH() x7812.5 avg hindex 12.279 us/op 12.395 us/op 0.99
getNodeH() x7812.5 index 0 7.6140 us/op 7.5000 us/op 1.02
getNodeH() x7812.5 index 7 7.6560 us/op 7.8170 us/op 0.98
getNodeH() x7812.5 index 7 with key array 6.3920 us/op 6.4340 us/op 0.99
new LeafNode() x7812.5 305.82 us/op 440.18 us/op 0.69
getHashComputations 250000 nodes 14.681 ms/op 17.589 ms/op 0.83
batchHash 250000 nodes 86.054 ms/op 106.17 ms/op 0.81
get root 250000 nodes 97.391 ms/op 95.725 ms/op 1.02
getHashComputations 500000 nodes 28.876 ms/op 35.839 ms/op 0.81
batchHash 500000 nodes 150.24 ms/op 185.08 ms/op 0.81
get root 500000 nodes 194.93 ms/op 190.57 ms/op 1.02
getHashComputations 1000000 nodes 62.924 ms/op 74.405 ms/op 0.85
batchHash 1000000 nodes 296.31 ms/op 391.65 ms/op 0.76
get root 1000000 nodes 387.62 ms/op 383.17 ms/op 1.01
multiproof - depth 15, 1 requested leaves 7.4000 us/op 7.9550 us/op 0.93
tree offset multiproof - depth 15, 1 requested leaves 18.742 us/op 20.270 us/op 0.92
compact multiproof - depth 15, 1 requested leaves 3.3500 us/op 4.6140 us/op 0.73
multiproof - depth 15, 2 requested leaves 10.621 us/op 13.116 us/op 0.81
tree offset multiproof - depth 15, 2 requested leaves 20.335 us/op 24.443 us/op 0.83
compact multiproof - depth 15, 2 requested leaves 3.2930 us/op 4.9580 us/op 0.66
multiproof - depth 15, 3 requested leaves 14.993 us/op 17.998 us/op 0.83
tree offset multiproof - depth 15, 3 requested leaves 26.324 us/op 31.157 us/op 0.84
compact multiproof - depth 15, 3 requested leaves 4.0320 us/op 5.9570 us/op 0.68
multiproof - depth 15, 4 requested leaves 19.921 us/op 24.210 us/op 0.82
tree offset multiproof - depth 15, 4 requested leaves 32.782 us/op 39.215 us/op 0.84
compact multiproof - depth 15, 4 requested leaves 3.8590 us/op 5.7380 us/op 0.67
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.6460 us/op 7.5300 us/op 0.75
packedRootsBytesToLeafNodes bytes 4000 offset 1 6.7840 us/op 6.8050 us/op 1.00
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.8770 us/op 6.6480 us/op 0.88
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.6700 us/op 6.5810 us/op 0.86
subtreeFillToContents depth 40 count 250000 47.495 ms/op 54.755 ms/op 0.87
setRoot - gindexBitstring 20.843 ms/op 25.336 ms/op 0.82
setRoot - gindex 21.457 ms/op 28.202 ms/op 0.76
getRoot - gindexBitstring 2.4995 ms/op 2.9651 ms/op 0.84
getRoot - gindex 3.0760 ms/op 3.3559 ms/op 0.92
getHashObject then setHashObject 27.139 ms/op 24.606 ms/op 1.10
setNodeWithFn 28.330 ms/op 23.813 ms/op 1.19
getNodeAtDepth depth 0 x100000 280.63 us/op 280.74 us/op 1.00
setNodeAtDepth depth 0 x100000 4.1483 ms/op 2.9694 ms/op 1.40
getNodesAtDepth depth 0 x100000 313.13 us/op 313.26 us/op 1.00
setNodesAtDepth depth 0 x100000 767.71 us/op 765.11 us/op 1.00
getNodeAtDepth depth 1 x100000 342.84 us/op 343.27 us/op 1.00
setNodeAtDepth depth 1 x100000 11.762 ms/op 9.8449 ms/op 1.19
getNodesAtDepth depth 1 x100000 436.35 us/op 436.85 us/op 1.00
setNodesAtDepth depth 1 x100000 8.4699 ms/op 9.5315 ms/op 0.89
getNodeAtDepth depth 2 x100000 796.92 us/op 808.66 us/op 0.99
setNodeAtDepth depth 2 x100000 16.461 ms/op 19.195 ms/op 0.86
getNodesAtDepth depth 2 x100000 18.176 ms/op 20.056 ms/op 0.91
setNodesAtDepth depth 2 x100000 21.772 ms/op 23.795 ms/op 0.91
tree.getNodesAtDepth - gindexes 9.4060 ms/op 11.338 ms/op 0.83
tree.getNodesAtDepth - push all nodes 2.4583 ms/op 2.6349 ms/op 0.93
tree.getNodesAtDepth - navigation 312.43 us/op 312.31 us/op 1.00
tree.setNodesAtDepth - indexes 799.98 us/op 794.41 us/op 1.01
set at depth 8 943.00 ns/op 960.00 ns/op 0.98
set at depth 16 1.0490 us/op 1.1580 us/op 0.91
set at depth 32 2.0110 us/op 2.1650 us/op 0.93
iterateNodesAtDepth 8 256 13.733 us/op 15.099 us/op 0.91
getNodesAtDepth 8 256 3.9520 us/op 3.9490 us/op 1.00
iterateNodesAtDepth 16 65536 4.7329 ms/op 4.8062 ms/op 0.98
getNodesAtDepth 16 65536 1.1657 ms/op 1.1933 ms/op 0.98
iterateNodesAtDepth 32 250000 17.966 ms/op 16.888 ms/op 1.06
getNodesAtDepth 32 250000 4.3506 ms/op 4.7986 ms/op 0.91
iterateNodesAtDepth 40 250000 15.770 ms/op 16.832 ms/op 0.94
getNodesAtDepth 40 250000 4.4143 ms/op 4.8637 ms/op 0.91
250000 validators root getter 97.727 ms/op 99.837 ms/op 0.98
250000 validators batchHash() 77.969 ms/op 112.68 ms/op 0.69
250000 validators hashComputations 13.699 ms/op 21.452 ms/op 0.64
bitlist bytes to struct (120,90) 453.00 ns/op 548.00 ns/op 0.83
bitlist bytes to tree (120,90) 2.2030 us/op 2.6280 us/op 0.84
bitlist bytes to struct (2048,2048) 833.00 ns/op 1.0680 us/op 0.78
bitlist bytes to tree (2048,2048) 3.4980 us/op 4.4280 us/op 0.79
ByteListType - deserialize 9.0981 ms/op 9.6676 ms/op 0.94
BasicListType - deserialize 9.9107 ms/op 10.868 ms/op 0.91
ByteListType - serialize 8.7835 ms/op 9.7838 ms/op 0.90
BasicListType - serialize 10.911 ms/op 12.081 ms/op 0.90
BasicListType - tree_convertToStruct 24.810 ms/op 25.101 ms/op 0.99
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.0494 ms/op 5.1855 ms/op 0.97
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3929 ms/op 4.3918 ms/op 1.00
Array.push len 300000 empty Array - number 6.9548 ms/op 8.0722 ms/op 0.86
Array.set len 300000 from new Array - number 2.2254 ms/op 2.2587 ms/op 0.99
Array.set len 300000 - number 5.9875 ms/op 7.2738 ms/op 0.82
Uint8Array.set len 300000 395.93 us/op 407.39 us/op 0.97
Uint32Array.set len 300000 493.65 us/op 540.76 us/op 0.91
Container({a: uint8, b: uint8}) getViewDU x300000 34.071 ms/op 34.703 ms/op 0.98
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 12.105 ms/op 12.206 ms/op 0.99
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 218.96 ms/op 249.70 ms/op 0.88
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 279.80 ms/op 286.63 ms/op 0.98
List(Container) len 300000 ViewDU.get(i) 8.9865 ms/op 7.5264 ms/op 1.19
List(Container) len 300000 ViewDU.getReadonly(i) 8.9875 ms/op 7.9606 ms/op 1.13
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 39.408 ms/op 36.381 ms/op 1.08
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 6.4027 ms/op 8.8061 ms/op 0.73
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 7.7367 ms/op 7.3115 ms/op 1.06
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 7.8734 ms/op 7.3381 ms/op 1.07
Array.push len 300000 empty Array - object 6.8844 ms/op 8.4120 ms/op 0.82
Array.set len 300000 from new Array - object 2.4279 ms/op 1.9301 ms/op 1.26
Array.set len 300000 - object 6.5970 ms/op 6.8298 ms/op 0.97
cachePermanentRootStruct no cache 3.3680 us/op 3.4350 us/op 0.98
cachePermanentRootStruct with cache 186.00 ns/op 178.00 ns/op 1.04
epochParticipation len 250000 rws 7813 2.3625 ms/op 2.4893 ms/op 0.95
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 5.1120 ms/op 4.9927 ms/op 1.02
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 210.29 ms/op 244.57 ms/op 0.86
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 180.03 ms/op 205.00 ms/op 0.88
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 46.440 ms/op 58.170 ms/op 0.80
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 699.49 ms/op 755.53 ms/op 0.93
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 65.197 ms/op 73.913 ms/op 0.88
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 281.63 ms/op 306.29 ms/op 0.92
deserialize Attestation - tree 3.8400 us/op 5.2590 us/op 0.73
deserialize Attestation - struct 1.9240 us/op 2.3440 us/op 0.82
deserialize Attestation - struct (reuse bytes) 1.4480 us/op 2.0390 us/op 0.71
deserialize SignedAggregateAndProof - tree 4.7230 us/op 5.2100 us/op 0.91
deserialize SignedAggregateAndProof - struct 2.9930 us/op 3.6940 us/op 0.81
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.9620 us/op 2.4060 us/op 0.82
deserialize SyncCommitteeMessage - tree 1.6350 us/op 1.7450 us/op 0.94
deserialize SyncCommitteeMessage - struct 1.1300 us/op 1.3130 us/op 0.86
deserialize SyncCommitteeMessage - struct (reuse bytes) 741.00 ns/op 875.00 ns/op 0.85
deserialize SignedContributionAndProof - tree 2.9320 us/op 3.4430 us/op 0.85
deserialize SignedContributionAndProof - struct 2.5400 us/op 2.9110 us/op 0.87
deserialize SignedContributionAndProof - struct (reuse bytes) 1.2680 us/op 1.6500 us/op 0.77
deserialize SignedBeaconBlock - tree 276.73 us/op 316.72 us/op 0.87
deserialize SignedBeaconBlock - struct 161.78 us/op 152.30 us/op 1.06
deserialize SignedBeaconBlock - struct (reuse bytes) 102.65 us/op 85.695 us/op 1.20
BeaconState vc 300000 - deserialize tree 665.37 ms/op 781.27 ms/op 0.85
BeaconState vc 300000 - serialize tree 87.103 ms/op 120.06 ms/op 0.73
BeaconState.historicalRoots vc 300000 - deserialize tree 1.1470 us/op 1.3250 us/op 0.87
BeaconState.historicalRoots vc 300000 - serialize tree 746.00 ns/op 746.00 ns/op 1.00
BeaconState.validators vc 300000 - deserialize tree 615.04 ms/op 690.27 ms/op 0.89
BeaconState.validators vc 300000 - serialize tree 37.505 ms/op 40.618 ms/op 0.92
BeaconState.balances vc 300000 - deserialize tree 27.935 ms/op 30.634 ms/op 0.91
BeaconState.balances vc 300000 - serialize tree 7.2768 ms/op 6.7302 ms/op 1.08
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.3829 ms/op 1.1630 ms/op 1.19
BeaconState.previousEpochParticipation vc 300000 - serialize tree 350.89 us/op 320.79 us/op 1.09
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.3549 ms/op 1.0287 ms/op 1.32
BeaconState.currentEpochParticipation vc 300000 - serialize tree 354.22 us/op 335.28 us/op 1.06
BeaconState.inactivityScores vc 300000 - deserialize tree 30.451 ms/op 28.436 ms/op 1.07
BeaconState.inactivityScores vc 300000 - serialize tree 4.2410 ms/op 5.7333 ms/op 0.74
hashTreeRoot Attestation - struct 10.763 us/op 11.353 us/op 0.95
hashTreeRoot Attestation - tree 7.5460 us/op 7.7890 us/op 0.97
hashTreeRoot SignedAggregateAndProof - struct 12.367 us/op 14.082 us/op 0.88
hashTreeRoot SignedAggregateAndProof - tree 11.437 us/op 11.102 us/op 1.03
hashTreeRoot SyncCommitteeMessage - struct 3.0660 us/op 3.4270 us/op 0.89
hashTreeRoot SyncCommitteeMessage - tree 2.9050 us/op 2.9530 us/op 0.98
hashTreeRoot SignedContributionAndProof - struct 7.6280 us/op 8.6910 us/op 0.88
hashTreeRoot SignedContributionAndProof - tree 7.8130 us/op 7.6690 us/op 1.02
hashTreeRoot SignedBeaconBlock - struct 757.70 us/op 855.63 us/op 0.89
hashTreeRoot SignedBeaconBlock - tree 680.72 us/op 664.09 us/op 1.03
hashTreeRoot Validator - struct 4.3040 us/op 4.7190 us/op 0.91
hashTreeRoot Validator - tree 5.8680 us/op 5.9970 us/op 0.98
BeaconState vc 300000 - hashTreeRoot tree 1.9859 s/op 2.1695 s/op 0.92
BeaconState vc 300000 - batchHashTreeRoot tree 3.9781 s/op 4.6664 s/op 0.85
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 864.00 ns/op 935.00 ns/op 0.92
BeaconState.validators vc 300000 - hashTreeRoot tree 2.2636 s/op 2.4404 s/op 0.93
BeaconState.balances vc 300000 - hashTreeRoot tree 29.681 ms/op 28.062 ms/op 1.06
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.6632 ms/op 3.4612 ms/op 1.06
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.6598 ms/op 3.4894 ms/op 1.05
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 29.496 ms/op 30.036 ms/op 0.98
hash64 x18 8.7720 us/op 8.3340 us/op 1.05
hashTwoObjects x18 6.6800 us/op 6.8110 us/op 0.98
hash64 x1740 762.00 us/op 736.16 us/op 1.04
hashTwoObjects x1740 616.43 us/op 578.67 us/op 1.07
hash64 x2700000 1.0474 s/op 1.1408 s/op 0.92
hashTwoObjects x2700000 956.11 ms/op 897.47 ms/op 1.07
get_exitEpoch - ContainerType 275.00 ns/op 308.00 ns/op 0.89
get_exitEpoch - ContainerNodeStructType 297.00 ns/op 312.00 ns/op 0.95
set_exitEpoch - ContainerType 327.00 ns/op 390.00 ns/op 0.84
set_exitEpoch - ContainerNodeStructType 276.00 ns/op 481.00 ns/op 0.57
get_pubkey - ContainerType 909.00 ns/op 1.1350 us/op 0.80
get_pubkey - ContainerNodeStructType 227.00 ns/op 290.00 ns/op 0.78
hashTreeRoot - ContainerType 441.00 ns/op 554.00 ns/op 0.80
hashTreeRoot - ContainerNodeStructType 424.00 ns/op 589.00 ns/op 0.72
createProof - ContainerType 3.9270 us/op 4.8760 us/op 0.81
createProof - ContainerNodeStructType 19.613 us/op 22.871 us/op 0.86
serialize - ContainerType 1.6260 us/op 2.0360 us/op 0.80
serialize - ContainerNodeStructType 1.1170 us/op 1.4540 us/op 0.77
set_exitEpoch_and_hashTreeRoot - ContainerType 2.4390 us/op 2.8070 us/op 0.87
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 6.5520 us/op 7.4820 us/op 0.88
doBatchHashTreeRootValidators 3.7210 us/op 3.7340 us/op 1.00
ContainerNodeStructViewDU hashTreeRoot 25.731 us/op 24.671 us/op 1.04
Array - for of 5.4950 us/op 5.6070 us/op 0.98
Array - for(;;) 5.5390 us/op 5.6280 us/op 0.98
basicListValue.readonlyValuesArray() 4.9438 ms/op 5.5073 ms/op 0.90
basicListValue.readonlyValuesArray() + loop all 4.4962 ms/op 4.7245 ms/op 0.95
compositeListValue.readonlyValuesArray() 27.016 ms/op 32.937 ms/op 0.82
compositeListValue.readonlyValuesArray() + loop all 28.866 ms/op 33.122 ms/op 0.87
Number64UintType - get balances list 4.7246 ms/op 5.1705 ms/op 0.91
Number64UintType - set balances list 10.152 ms/op 9.9517 ms/op 1.02
Number64UintType - get and increase 10 then set 41.475 ms/op 44.231 ms/op 0.94
Number64UintType - increase 10 using applyDelta 16.793 ms/op 17.719 ms/op 0.95
Number64UintType - increase 10 using applyDeltaInBatch 17.432 ms/op 17.441 ms/op 1.00
tree_newTreeFromUint64Deltas 20.222 ms/op 24.743 ms/op 0.82
unsafeUint8ArrayToTree 36.169 ms/op 40.839 ms/op 0.89
bitLength(50) 244.00 ns/op 315.00 ns/op 0.77
bitLengthStr(50) 252.00 ns/op 275.00 ns/op 0.92
bitLength(8000) 235.00 ns/op 290.00 ns/op 0.81
bitLengthStr(8000) 301.00 ns/op 356.00 ns/op 0.85
bitLength(250000) 234.00 ns/op 279.00 ns/op 0.84
bitLengthStr(250000) 328.00 ns/op 322.00 ns/op 1.02
merkleize 32 chunks 12.319 us/op 13.613 us/op 0.90
merkleizeBlocksBytes 32 chunks 3.0590 us/op 3.2080 us/op 0.95
merkleizeBlockArray 32 chunks 5.8960 us/op 6.7820 us/op 0.87
merkleize 128 chunks 49.125 us/op 53.775 us/op 0.91
merkleizeBlocksBytes 128 chunks 7.4250 us/op 7.2430 us/op 1.03
merkleizeBlockArray 128 chunks 17.008 us/op 18.332 us/op 0.93
merkleize 512 chunks 192.56 us/op 218.64 us/op 0.88
merkleizeBlocksBytes 512 chunks 22.681 us/op 23.051 us/op 0.98
merkleizeBlockArray 512 chunks 58.585 us/op 64.733 us/op 0.91
merkleize 1024 chunks 392.46 us/op 434.63 us/op 0.90
merkleizeBlocksBytes 1024 chunks 42.395 us/op 43.119 us/op 0.98
merkleizeBlockArray 1024 chunks 114.22 us/op 124.56 us/op 0.92
floor - Math.floor (53) 1.2456 ns/op 1.2468 ns/op 1.00
floor - << 0 (53) 1.2451 ns/op 1.2453 ns/op 1.00
floor - Math.floor (512) 1.2456 ns/op 1.2449 ns/op 1.00
floor - << 0 (512) 1.2453 ns/op 1.2461 ns/op 1.00
fnIf(0) 1.5566 ns/op 1.5587 ns/op 1.00
fnSwitch(0) 2.1796 ns/op 2.1801 ns/op 1.00
fnObj(0) 1.5564 ns/op 1.5574 ns/op 1.00
fnArr(0) 1.5575 ns/op 1.5590 ns/op 1.00
fnIf(4) 2.1906 ns/op 2.1793 ns/op 1.01
fnSwitch(4) 2.1788 ns/op 2.1787 ns/op 1.00
fnObj(4) 1.5585 ns/op 1.5656 ns/op 1.00
fnArr(4) 1.5574 ns/op 1.5591 ns/op 1.00
fnIf(9) 3.1107 ns/op 3.1122 ns/op 1.00
fnSwitch(9) 2.1797 ns/op 2.1790 ns/op 1.00
fnObj(9) 1.5700 ns/op 1.5598 ns/op 1.01
fnArr(9) 1.5565 ns/op 1.5574 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.71 us/op 124.84 us/op 1.00
Container {a,b,vec} - as tree x100000 558.88 us/op 562.55 us/op 0.99
Container {a,vec,b} - as struct x100000 155.85 us/op 156.10 us/op 1.00
Container {a,vec,b} - as tree x100000 561.98 us/op 561.17 us/op 1.00
get 2 props x1000000 - rawObject 312.11 us/op 313.88 us/op 0.99
get 2 props x1000000 - proxy 72.588 ms/op 73.539 ms/op 0.99
get 2 props x1000000 - customObj 311.56 us/op 312.28 us/op 1.00
Simple object binary -> struct 604.00 ns/op 611.00 ns/op 0.99
Simple object binary -> tree_backed 1.6440 us/op 1.8260 us/op 0.90
Simple object struct -> tree_backed 2.2130 us/op 2.6130 us/op 0.85
Simple object tree_backed -> struct 1.5640 us/op 1.6060 us/op 0.97
Simple object struct -> binary 863.00 ns/op 1.0020 us/op 0.86
Simple object tree_backed -> binary 1.2220 us/op 1.3900 us/op 0.88
aggregationBits binary -> struct 475.00 ns/op 523.00 ns/op 0.91
aggregationBits binary -> tree_backed 2.0700 us/op 2.6200 us/op 0.79
aggregationBits struct -> tree_backed 2.5610 us/op 2.9790 us/op 0.86
aggregationBits tree_backed -> struct 958.00 ns/op 1.3230 us/op 0.72
aggregationBits struct -> binary 706.00 ns/op 811.00 ns/op 0.87
aggregationBits tree_backed -> binary 834.00 ns/op 960.00 ns/op 0.87
List(uint8) 100000 binary -> struct 986.76 us/op 997.50 us/op 0.99
List(uint8) 100000 binary -> tree_backed 271.48 us/op 312.82 us/op 0.87
List(uint8) 100000 struct -> tree_backed 1.3787 ms/op 1.3953 ms/op 0.99
List(uint8) 100000 tree_backed -> struct 962.05 us/op 1.0635 ms/op 0.90
List(uint8) 100000 struct -> binary 1.0601 ms/op 1.0830 ms/op 0.98
List(uint8) 100000 tree_backed -> binary 109.08 us/op 112.90 us/op 0.97
List(uint64Number) 100000 binary -> struct 1.2624 ms/op 1.4985 ms/op 0.84
List(uint64Number) 100000 binary -> tree_backed 5.2667 ms/op 5.2647 ms/op 1.00
List(uint64Number) 100000 struct -> tree_backed 6.5883 ms/op 7.4630 ms/op 0.88
List(uint64Number) 100000 tree_backed -> struct 2.3898 ms/op 2.6319 ms/op 0.91
List(uint64Number) 100000 struct -> binary 1.4433 ms/op 1.4787 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 1.5780 ms/op 1.2992 ms/op 1.21
List(Uint64Bigint) 100000 binary -> struct 3.9081 ms/op 4.1482 ms/op 0.94
List(Uint64Bigint) 100000 binary -> tree_backed 5.2806 ms/op 5.8306 ms/op 0.91
List(Uint64Bigint) 100000 struct -> tree_backed 7.3193 ms/op 7.8491 ms/op 0.93
List(Uint64Bigint) 100000 tree_backed -> struct 4.9865 ms/op 5.5718 ms/op 0.89
List(Uint64Bigint) 100000 struct -> binary 2.1894 ms/op 2.1356 ms/op 1.03
List(Uint64Bigint) 100000 tree_backed -> binary 1.0388 ms/op 1.4979 ms/op 0.69
Vector(Root) 100000 binary -> struct 34.023 ms/op 43.545 ms/op 0.78
Vector(Root) 100000 binary -> tree_backed 40.898 ms/op 45.553 ms/op 0.90
Vector(Root) 100000 struct -> tree_backed 51.272 ms/op 57.529 ms/op 0.89
Vector(Root) 100000 tree_backed -> struct 48.983 ms/op 57.530 ms/op 0.85
Vector(Root) 100000 struct -> binary 3.0971 ms/op 3.2895 ms/op 0.94
Vector(Root) 100000 tree_backed -> binary 6.4759 ms/op 7.8967 ms/op 0.82
List(Validator) 100000 binary -> struct 117.25 ms/op 133.50 ms/op 0.88
List(Validator) 100000 binary -> tree_backed 344.75 ms/op 412.68 ms/op 0.84
List(Validator) 100000 struct -> tree_backed 371.71 ms/op 421.00 ms/op 0.88
List(Validator) 100000 tree_backed -> struct 211.51 ms/op 246.43 ms/op 0.86
List(Validator) 100000 struct -> binary 30.022 ms/op 30.788 ms/op 0.98
List(Validator) 100000 tree_backed -> binary 115.43 ms/op 134.90 ms/op 0.86
List(Validator-NS) 100000 binary -> struct 126.45 ms/op 118.07 ms/op 1.07
List(Validator-NS) 100000 binary -> tree_backed 168.38 ms/op 184.56 ms/op 0.91
List(Validator-NS) 100000 struct -> tree_backed 185.05 ms/op 212.50 ms/op 0.87
List(Validator-NS) 100000 tree_backed -> struct 156.45 ms/op 169.90 ms/op 0.92
List(Validator-NS) 100000 struct -> binary 7.4843 ms/op 8.2035 ms/op 0.91
List(Validator-NS) 100000 tree_backed -> binary 13.220 ms/op 14.524 ms/op 0.91
get epochStatuses - MutableVector 91.080 us/op 108.49 us/op 0.84
get epochStatuses - ViewDU 212.50 us/op 209.89 us/op 1.01
set epochStatuses - ListTreeView 2.1184 ms/op 2.2856 ms/op 0.93
set epochStatuses - ListTreeView - set() 442.53 us/op 465.80 us/op 0.95
set epochStatuses - ListTreeView - commit() 743.11 us/op 871.03 us/op 0.85
bitstring 513.88 ns/op 519.45 ns/op 0.99
bit mask 13.572 ns/op 13.345 ns/op 1.02
struct - increase slot to 1000000 934.08 us/op 934.41 us/op 1.00
UintNumberType - increase slot to 1000000 27.754 ms/op 25.475 ms/op 1.09
UintBigintType - increase slot to 1000000 164.18 ms/op 191.91 ms/op 0.86
UintBigint8 x 100000 tree_deserialize 6.7552 ms/op 5.8797 ms/op 1.15
UintBigint8 x 100000 tree_serialize 1.1294 ms/op 1.1331 ms/op 1.00
UintBigint16 x 100000 tree_deserialize 5.5902 ms/op 6.0084 ms/op 0.93
UintBigint16 x 100000 tree_serialize 1.3527 ms/op 1.5132 ms/op 0.89
UintBigint32 x 100000 tree_deserialize 5.5779 ms/op 6.1780 ms/op 0.90
UintBigint32 x 100000 tree_serialize 1.6917 ms/op 1.8755 ms/op 0.90
UintBigint64 x 100000 tree_deserialize 6.2483 ms/op 6.7895 ms/op 0.92
UintBigint64 x 100000 tree_serialize 1.6779 ms/op 2.0112 ms/op 0.83
UintBigint8 x 100000 value_deserialize 404.91 us/op 406.62 us/op 1.00
UintBigint8 x 100000 value_serialize 737.58 us/op 818.71 us/op 0.90
UintBigint16 x 100000 value_deserialize 466.93 us/op 467.66 us/op 1.00
UintBigint16 x 100000 value_serialize 803.81 us/op 893.42 us/op 0.90
UintBigint32 x 100000 value_deserialize 497.57 us/op 499.32 us/op 1.00
UintBigint32 x 100000 value_serialize 809.98 us/op 996.05 us/op 0.81
UintBigint64 x 100000 value_deserialize 531.77 us/op 534.28 us/op 1.00
UintBigint64 x 100000 value_serialize 954.69 us/op 1.1638 ms/op 0.82
UintBigint8 x 100000 deserialize 3.1404 ms/op 4.2851 ms/op 0.73
UintBigint8 x 100000 serialize 1.5042 ms/op 1.5287 ms/op 0.98
UintBigint16 x 100000 deserialize 3.1246 ms/op 4.5204 ms/op 0.69
UintBigint16 x 100000 serialize 1.5899 ms/op 1.6070 ms/op 0.99
UintBigint32 x 100000 deserialize 3.3878 ms/op 4.2967 ms/op 0.79
UintBigint32 x 100000 serialize 2.8054 ms/op 3.1275 ms/op 0.90
UintBigint64 x 100000 deserialize 4.1660 ms/op 4.8690 ms/op 0.86
UintBigint64 x 100000 serialize 1.6535 ms/op 1.7260 ms/op 0.96
UintBigint128 x 100000 deserialize 5.9310 ms/op 7.2428 ms/op 0.82
UintBigint128 x 100000 serialize 16.319 ms/op 17.165 ms/op 0.95
UintBigint256 x 100000 deserialize 8.3306 ms/op 10.756 ms/op 0.77
UintBigint256 x 100000 serialize 45.730 ms/op 49.067 ms/op 0.93
Slice from Uint8Array x25000 1.4037 ms/op 1.9443 ms/op 0.72
Slice from ArrayBuffer x25000 17.158 ms/op 17.381 ms/op 0.99
Slice from ArrayBuffer x25000 + new Uint8Array 16.654 ms/op 19.341 ms/op 0.86
Copy Uint8Array 100000 iterate 1.7479 ms/op 1.8214 ms/op 0.96
Copy Uint8Array 100000 slice 94.104 us/op 148.93 us/op 0.63
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 93.856 us/op 141.35 us/op 0.66
Copy Buffer 100000 Uint8Array.prototype.slice.call 103.52 us/op 133.10 us/op 0.78
Copy Uint8Array 100000 slice + set 190.44 us/op 267.45 us/op 0.71
Copy Uint8Array 100000 subarray + set 93.924 us/op 130.63 us/op 0.72
Copy Uint8Array 100000 slice arrayBuffer 100.71 us/op 128.32 us/op 0.78
Uint64 deserialize 100000 - iterate Uint8Array 1.9416 ms/op 2.2524 ms/op 0.86
Uint64 deserialize 100000 - by Uint32A 1.9707 ms/op 2.3740 ms/op 0.83
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0459 ms/op 2.1330 ms/op 0.96
Uint64 deserialize 100000 - by DataView.getBigUint64 4.9718 ms/op 5.3045 ms/op 0.94
Uint64 deserialize 100000 - by byte 40.837 ms/op 40.711 ms/op 1.00

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