Skip to content

chore: release ssz 1.3.0#505

Merged
wemeetagain merged 1 commit intomasterfrom
release-please--branches--master--components--ssz
Nov 22, 2025
Merged

chore: release ssz 1.3.0#505
wemeetagain merged 1 commit intomasterfrom
release-please--branches--master--components--ssz

Conversation

@nazarhussain
Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

1.3.0 (2025-11-22)

Features

  • add reuseBytes option to deserialize (#503) (b1e55bc)

This PR was generated with Release Please. See documentation.

@nazarhussain nazarhussain changed the title chore(master): release ssz 1.3.0 chore: release ssz 1.3.0 Nov 22, 2025
@wemeetagain wemeetagain merged commit a7aa227 into master Nov 22, 2025
10 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master--components--ssz branch November 22, 2025 17:10
@github-actions
Copy link
Copy Markdown
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 0aa46f2 Previous: 17234f9 Ratio
digestTwoHashObjects 50023 times 47.834 ms/op 49.907 ms/op 0.96
digest2Bytes32 50023 times 53.789 ms/op 56.104 ms/op 0.96
digest 50023 times 52.528 ms/op 55.529 ms/op 0.95
input length 32 1.1910 us/op 1.2640 us/op 0.94
input length 64 1.3480 us/op 1.3900 us/op 0.97
input length 128 2.3250 us/op 2.3620 us/op 0.98
input length 256 3.3760 us/op 3.5300 us/op 0.96
input length 512 5.6040 us/op 5.8370 us/op 0.96
input length 1024 10.654 us/op 11.082 us/op 0.96
digest 1000000 times 858.95 ms/op 869.16 ms/op 0.99
hashObjectToByteArray 50023 times 934.64 us/op 967.09 us/op 0.97
byteArrayToHashObject 50023 times 1.3158 ms/op 1.5327 ms/op 0.86
digest64 200092 times 210.39 ms/op 220.69 ms/op 0.95
hash 200092 times using batchHash4UintArray64s 228.31 ms/op 118.66 ms/op 1.92
digest64HashObjects 200092 times 189.87 ms/op 198.80 ms/op 0.96
hash 200092 times using batchHash4HashObjectInputs 196.08 ms/op 76.903 ms/op 2.55
getGindicesAtDepth 3.5890 us/op 3.8610 us/op 0.93
iterateAtDepth 6.3290 us/op 7.3690 us/op 0.86
getGindexBits 451.00 ns/op 450.00 ns/op 1.00
gindexIterator 882.00 ns/op 1.0730 us/op 0.82
HashComputationLevel.push then loop 26.125 ms/op 38.092 ms/op 0.69
HashComputation[] push then loop 49.372 ms/op 54.056 ms/op 0.91
hash 2 32 bytes Uint8Array 500000 times - hashtree 150.46 ms/op 142.32 ms/op 1.06
batch hash 16 x 64 Uint8Array 31250 times - hashtree 24.365 ms/op 38.162 ms/op 0.64
hashTwoObjects 500000 times - hashtree 177.03 ms/op 168.37 ms/op 1.05
executeHashComputations - hashtree 9.1836 ms/op 9.8058 ms/op 0.94
hash 2 32 bytes Uint8Array 500000 times - as-sha256 491.39 ms/op 499.79 ms/op 0.98
batch hash 16 x 64 Uint8Array 31250 times - as-sha256 506.40 ms/op 218.87 ms/op 2.31
hashTwoObjects 500000 times - as-sha256 503.65 ms/op 516.49 ms/op 0.98
executeHashComputations - as-sha256 45.671 ms/op 24.541 ms/op 1.86
hash 2 32 bytes Uint8Array 500000 times - noble 1.2022 s/op 1.4351 s/op 0.84
batch hash 16 x 64 Uint8Array 31250 times - noble 1.1701 s/op 1.4016 s/op 0.83
hashTwoObjects 500000 times - noble 1.5351 s/op 2.0081 s/op 0.76
executeHashComputations - noble 35.902 ms/op 37.111 ms/op 0.97
getHashComputations 2.1731 ms/op 1.8773 ms/op 1.16
executeHashComputations 9.9227 ms/op 10.699 ms/op 0.93
get root 12.886 ms/op 12.771 ms/op 1.01
getNodeH() x7812.5 avg hindex 12.041 us/op 13.551 us/op 0.89
getNodeH() x7812.5 index 0 7.5640 us/op 6.9910 us/op 1.08
getNodeH() x7812.5 index 7 7.5280 us/op 6.9920 us/op 1.08
getNodeH() x7812.5 index 7 with key array 6.2540 us/op 7.8570 us/op 0.80
new LeafNode() x7812.5 308.77 us/op 353.49 us/op 0.87
getHashComputations 250000 nodes 15.229 ms/op 12.011 ms/op 1.27
batchHash 250000 nodes 82.680 ms/op 85.021 ms/op 0.97
get root 250000 nodes 95.092 ms/op 96.309 ms/op 0.99
getHashComputations 500000 nodes 28.487 ms/op 22.905 ms/op 1.24
batchHash 500000 nodes 147.43 ms/op 154.60 ms/op 0.95
get root 500000 nodes 189.93 ms/op 199.16 ms/op 0.95
getHashComputations 1000000 nodes 64.964 ms/op 44.918 ms/op 1.45
batchHash 1000000 nodes 334.84 ms/op 370.51 ms/op 0.90
get root 1000000 nodes 387.98 ms/op 397.45 ms/op 0.98
multiproof - depth 15, 1 requested leaves 7.8510 us/op 8.9990 us/op 0.87
tree offset multiproof - depth 15, 1 requested leaves 17.258 us/op 20.256 us/op 0.85
compact multiproof - depth 15, 1 requested leaves 3.4270 us/op 4.6480 us/op 0.74
multiproof - depth 15, 2 requested leaves 11.297 us/op 12.656 us/op 0.89
tree offset multiproof - depth 15, 2 requested leaves 20.490 us/op 23.107 us/op 0.89
compact multiproof - depth 15, 2 requested leaves 3.3640 us/op 4.9660 us/op 0.68
multiproof - depth 15, 3 requested leaves 15.863 us/op 18.092 us/op 0.88
tree offset multiproof - depth 15, 3 requested leaves 26.700 us/op 31.084 us/op 0.86
compact multiproof - depth 15, 3 requested leaves 3.9330 us/op 5.6440 us/op 0.70
multiproof - depth 15, 4 requested leaves 21.037 us/op 23.966 us/op 0.88
tree offset multiproof - depth 15, 4 requested leaves 32.992 us/op 38.102 us/op 0.87
compact multiproof - depth 15, 4 requested leaves 4.0600 us/op 5.8760 us/op 0.69
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.7740 us/op 6.9830 us/op 0.83
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.7760 us/op 6.8110 us/op 0.85
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.7890 us/op 6.7160 us/op 0.86
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.7540 us/op 7.0930 us/op 0.81
subtreeFillToContents depth 40 count 250000 48.085 ms/op 54.199 ms/op 0.89
setRoot - gindexBitstring 19.889 ms/op 21.406 ms/op 0.93
setRoot - gindex 19.966 ms/op 21.508 ms/op 0.93
getRoot - gindexBitstring 2.3515 ms/op 2.3377 ms/op 1.01
getRoot - gindex 2.8230 ms/op 2.9981 ms/op 0.94
getHashObject then setHashObject 20.502 ms/op 22.331 ms/op 0.92
setNodeWithFn 18.145 ms/op 19.936 ms/op 0.91
getNodeAtDepth depth 0 x100000 280.29 us/op 260.09 us/op 1.08
setNodeAtDepth depth 0 x100000 2.2369 ms/op 2.1261 ms/op 1.05
getNodesAtDepth depth 0 x100000 311.94 us/op 299.84 us/op 1.04
setNodesAtDepth depth 0 x100000 761.21 us/op 1.0155 ms/op 0.75
getNodeAtDepth depth 1 x100000 342.09 us/op 280.41 us/op 1.22
setNodeAtDepth depth 1 x100000 7.4736 ms/op 7.6675 ms/op 0.97
getNodesAtDepth depth 1 x100000 443.04 us/op 356.09 us/op 1.24
setNodesAtDepth depth 1 x100000 6.1862 ms/op 6.5136 ms/op 0.95
getNodeAtDepth depth 2 x100000 777.06 us/op 657.02 us/op 1.18
setNodeAtDepth depth 2 x100000 14.155 ms/op 14.031 ms/op 1.01
getNodesAtDepth depth 2 x100000 19.355 ms/op 17.325 ms/op 1.12
setNodesAtDepth depth 2 x100000 21.270 ms/op 21.424 ms/op 0.99
tree.getNodesAtDepth - gindexes 7.2722 ms/op 7.7206 ms/op 0.94
tree.getNodesAtDepth - push all nodes 1.8701 ms/op 1.8816 ms/op 0.99
tree.getNodesAtDepth - navigation 312.98 us/op 288.32 us/op 1.09
tree.setNodesAtDepth - indexes 692.47 us/op 696.50 us/op 0.99
set at depth 8 781.00 ns/op 931.00 ns/op 0.84
set at depth 16 1.1020 us/op 1.1480 us/op 0.96
set at depth 32 1.8560 us/op 2.1020 us/op 0.88
iterateNodesAtDepth 8 256 13.164 us/op 14.129 us/op 0.93
getNodesAtDepth 8 256 3.5060 us/op 3.6750 us/op 0.95
iterateNodesAtDepth 16 65536 4.1739 ms/op 4.1413 ms/op 1.01
getNodesAtDepth 16 65536 1.1138 ms/op 1.0557 ms/op 1.06
iterateNodesAtDepth 32 250000 15.645 ms/op 15.411 ms/op 1.02
getNodesAtDepth 32 250000 4.5236 ms/op 4.4895 ms/op 1.01
iterateNodesAtDepth 40 250000 15.731 ms/op 15.400 ms/op 1.02
getNodesAtDepth 40 250000 4.5349 ms/op 4.4297 ms/op 1.02
250000 validators root getter 95.076 ms/op 97.542 ms/op 0.97
250000 validators batchHash() 79.092 ms/op 93.673 ms/op 0.84
250000 validators hashComputations 13.998 ms/op 14.474 ms/op 0.97
bitlist bytes to struct (120,90) 504.00 ns/op 537.00 ns/op 0.94
bitlist bytes to tree (120,90) 2.0500 us/op 2.5990 us/op 0.79
bitlist bytes to struct (2048,2048) 853.00 ns/op 1.1250 us/op 0.76
bitlist bytes to tree (2048,2048) 3.3170 us/op 4.7730 us/op 0.69
ByteListType - deserialize 7.8307 ms/op 13.844 ms/op 0.57
BasicListType - deserialize 9.1901 ms/op 11.184 ms/op 0.82
ByteListType - serialize 8.2195 ms/op 13.429 ms/op 0.61
BasicListType - serialize 9.0703 ms/op 14.916 ms/op 0.61
BasicListType - tree_convertToStruct 16.292 ms/op 25.487 ms/op 0.64
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.6281 ms/op 3.8842 ms/op 1.19
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3793 ms/op 2.7550 ms/op 1.59
Array.push len 300000 empty Array - number 5.9147 ms/op 5.5992 ms/op 1.06
Array.set len 300000 from new Array - number 1.7953 ms/op 1.7772 ms/op 1.01
Array.set len 300000 - number 5.4372 ms/op 6.0826 ms/op 0.89
Uint8Array.set len 300000 374.52 us/op 297.47 us/op 1.26
Uint32Array.set len 300000 438.06 us/op 357.36 us/op 1.23
Container({a: uint8, b: uint8}) getViewDU x300000 29.983 ms/op 33.409 ms/op 0.90
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.463 ms/op 11.071 ms/op 0.95
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 202.26 ms/op 226.48 ms/op 0.89
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 215.04 ms/op 296.54 ms/op 0.73
List(Container) len 300000 ViewDU.get(i) 6.5031 ms/op 7.4547 ms/op 0.87
List(Container) len 300000 ViewDU.getReadonly(i) 6.4957 ms/op 7.4548 ms/op 0.87
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 37.215 ms/op 40.240 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 4.5671 ms/op 6.0757 ms/op 0.75
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.1360 ms/op 6.8886 ms/op 0.89
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.1446 ms/op 6.9386 ms/op 0.89
Array.push len 300000 empty Array - object 6.1067 ms/op 6.1725 ms/op 0.99
Array.set len 300000 from new Array - object 2.0647 ms/op 2.1723 ms/op 0.95
Array.set len 300000 - object 5.8364 ms/op 6.0340 ms/op 0.97
cachePermanentRootStruct no cache 3.1300 us/op 3.7780 us/op 0.83
cachePermanentRootStruct with cache 160.00 ns/op 227.00 ns/op 0.70
epochParticipation len 250000 rws 7813 2.3286 ms/op 2.4884 ms/op 0.94
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 4.6670 ms/op 5.2413 ms/op 0.89
BeaconState ViewDU batchHashTreeRoot vc=200000 mod=100000 214.83 ms/op 252.45 ms/op 0.85
BeaconState ViewDU batchHashTreeRoot - commit step vc=200000 mod=100000 181.41 ms/op 210.41 ms/op 0.86
BeaconState ViewDU batchHashTreeRoot - hash step vc=200000 mod=100000 46.086 ms/op 52.005 ms/op 0.89
BeaconState ViewDU hashTreeRoot() vc=200000 mod=100000 709.34 ms/op 732.22 ms/op 0.97
BeaconState ViewDU hashTreeRoot - commit step vc=200000 mod=100000 67.013 ms/op 63.512 ms/op 1.06
BeaconState ViewDU hashTreeRoot - validator tree creation vc=100000 mod=100000 274.14 ms/op 309.97 ms/op 0.88
deserialize Attestation - tree 3.6810 us/op 4.5160 us/op 0.82
deserialize Attestation - struct 1.8960 us/op 2.4050 us/op 0.79
deserialize Attestation - struct (reuse bytes) 1.4210 us/op 1.6170 us/op 0.88
deserialize SignedAggregateAndProof - tree 4.8240 us/op 5.6940 us/op 0.85
deserialize SignedAggregateAndProof - struct 2.9410 us/op 3.9880 us/op 0.74
deserialize SignedAggregateAndProof - struct (reuse bytes) 1.8640 us/op 2.0500 us/op 0.91
deserialize SyncCommitteeMessage - tree 1.3910 us/op 1.7280 us/op 0.80
deserialize SyncCommitteeMessage - struct 1.0970 us/op 1.4320 us/op 0.77
deserialize SyncCommitteeMessage - struct (reuse bytes) 723.00 ns/op 862.00 ns/op 0.84
deserialize SignedContributionAndProof - tree 2.8980 us/op 3.1260 us/op 0.93
deserialize SignedContributionAndProof - struct 2.2550 us/op 3.3200 us/op 0.68
deserialize SignedContributionAndProof - struct (reuse bytes) 1.2340 us/op 1.4700 us/op 0.84
deserialize SignedBeaconBlock - tree 277.40 us/op 320.47 us/op 0.87
deserialize SignedBeaconBlock - struct 114.60 us/op 164.58 us/op 0.70
deserialize SignedBeaconBlock - struct (reuse bytes) 74.737 us/op 87.284 us/op 0.86
BeaconState vc 300000 - deserialize tree 634.26 ms/op 658.35 ms/op 0.96
BeaconState vc 300000 - serialize tree 98.009 ms/op 108.35 ms/op 0.90
BeaconState.historicalRoots vc 300000 - deserialize tree 953.00 ns/op 1.0950 us/op 0.87
BeaconState.historicalRoots vc 300000 - serialize tree 669.00 ns/op 880.00 ns/op 0.76
BeaconState.validators vc 300000 - deserialize tree 592.72 ms/op 623.49 ms/op 0.95
BeaconState.validators vc 300000 - serialize tree 35.700 ms/op 43.579 ms/op 0.82
BeaconState.balances vc 300000 - deserialize tree 28.798 ms/op 28.241 ms/op 1.02
BeaconState.balances vc 300000 - serialize tree 3.6101 ms/op 4.5702 ms/op 0.79
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 897.84 us/op 965.09 us/op 0.93
BeaconState.previousEpochParticipation vc 300000 - serialize tree 329.11 us/op 354.83 us/op 0.93
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 900.21 us/op 933.50 us/op 0.96
BeaconState.currentEpochParticipation vc 300000 - serialize tree 328.50 us/op 356.56 us/op 0.92
BeaconState.inactivityScores vc 300000 - deserialize tree 25.147 ms/op 29.126 ms/op 0.86
BeaconState.inactivityScores vc 300000 - serialize tree 3.6397 ms/op 3.8030 ms/op 0.96
hashTreeRoot Attestation - struct 10.199 us/op 11.055 us/op 0.92
hashTreeRoot Attestation - tree 7.5770 us/op 7.8010 us/op 0.97
hashTreeRoot SignedAggregateAndProof - struct 12.461 us/op 14.450 us/op 0.86
hashTreeRoot SignedAggregateAndProof - tree 11.412 us/op 11.169 us/op 1.02
hashTreeRoot SyncCommitteeMessage - struct 3.1130 us/op 3.4750 us/op 0.90
hashTreeRoot SyncCommitteeMessage - tree 2.8650 us/op 3.0190 us/op 0.95
hashTreeRoot SignedContributionAndProof - struct 7.5710 us/op 8.4730 us/op 0.89
hashTreeRoot SignedContributionAndProof - tree 7.8050 us/op 7.8700 us/op 0.99
hashTreeRoot SignedBeaconBlock - struct 721.71 us/op 846.19 us/op 0.85
hashTreeRoot SignedBeaconBlock - tree 679.89 us/op 657.46 us/op 1.03
hashTreeRoot Validator - struct 4.2780 us/op 4.9410 us/op 0.87
hashTreeRoot Validator - tree 5.6660 us/op 6.4550 us/op 0.88
BeaconState vc 300000 - hashTreeRoot tree 1.9689 s/op 2.0453 s/op 0.96
BeaconState vc 300000 - batchHashTreeRoot tree 3.9162 s/op 4.2940 s/op 0.91
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 882.00 ns/op 816.00 ns/op 1.08
BeaconState.validators vc 300000 - hashTreeRoot tree 2.1227 s/op 2.3634 s/op 0.90
BeaconState.balances vc 300000 - hashTreeRoot tree 29.213 ms/op 28.389 ms/op 1.03
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 3.6014 ms/op 3.5369 ms/op 1.02
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 3.6521 ms/op 3.5642 ms/op 1.02
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 32.634 ms/op 32.733 ms/op 1.00
hash64 x18 7.6220 us/op 7.8570 us/op 0.97
hashTwoObjects x18 6.5980 us/op 6.5690 us/op 1.00
hash64 x1740 663.27 us/op 697.37 us/op 0.95
hashTwoObjects x1740 611.72 us/op 596.49 us/op 1.03
hash64 x2700000 1.0216 s/op 1.0694 s/op 0.96
hashTwoObjects x2700000 955.53 ms/op 925.50 ms/op 1.03
get_exitEpoch - ContainerType 253.00 ns/op 279.00 ns/op 0.91
get_exitEpoch - ContainerNodeStructType 226.00 ns/op 268.00 ns/op 0.84
set_exitEpoch - ContainerType 231.00 ns/op 269.00 ns/op 0.86
set_exitEpoch - ContainerNodeStructType 221.00 ns/op 293.00 ns/op 0.75
get_pubkey - ContainerType 880.00 ns/op 1.2200 us/op 0.72
get_pubkey - ContainerNodeStructType 208.00 ns/op 237.00 ns/op 0.88
hashTreeRoot - ContainerType 404.00 ns/op 457.00 ns/op 0.88
hashTreeRoot - ContainerNodeStructType 395.00 ns/op 455.00 ns/op 0.87
createProof - ContainerType 3.5440 us/op 4.2430 us/op 0.84
createProof - ContainerNodeStructType 18.831 us/op 22.674 us/op 0.83
serialize - ContainerType 1.6250 us/op 2.0490 us/op 0.79
serialize - ContainerNodeStructType 1.0610 us/op 1.4540 us/op 0.73
set_exitEpoch_and_hashTreeRoot - ContainerType 2.5700 us/op 2.6590 us/op 0.97
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 6.4250 us/op 7.3850 us/op 0.87
doBatchHashTreeRootValidators 3.5510 us/op 4.7270 us/op 0.75
ContainerNodeStructViewDU hashTreeRoot 22.135 us/op 24.786 us/op 0.89
Array - for of 6.0430 us/op 6.0770 us/op 0.99
Array - for(;;) 5.9200 us/op 5.7950 us/op 1.02
basicListValue.readonlyValuesArray() 3.6641 ms/op 3.4978 ms/op 1.05
basicListValue.readonlyValuesArray() + loop all 3.8316 ms/op 3.5714 ms/op 1.07
compositeListValue.readonlyValuesArray() 31.608 ms/op 32.029 ms/op 0.99
compositeListValue.readonlyValuesArray() + loop all 31.645 ms/op 32.687 ms/op 0.97
Number64UintType - get balances list 4.3941 ms/op 2.7024 ms/op 1.63
Number64UintType - set balances list 10.128 ms/op 9.6145 ms/op 1.05
Number64UintType - get and increase 10 then set 38.243 ms/op 40.002 ms/op 0.96
Number64UintType - increase 10 using applyDelta 14.213 ms/op 14.220 ms/op 1.00
Number64UintType - increase 10 using applyDeltaInBatch 14.027 ms/op 14.386 ms/op 0.98
tree_newTreeFromUint64Deltas 21.525 ms/op 22.126 ms/op 0.97
unsafeUint8ArrayToTree 34.595 ms/op 36.622 ms/op 0.94
bitLength(50) 233.00 ns/op 281.00 ns/op 0.83
bitLengthStr(50) 245.00 ns/op 218.00 ns/op 1.12
bitLength(8000) 230.00 ns/op 277.00 ns/op 0.83
bitLengthStr(8000) 275.00 ns/op 292.00 ns/op 0.94
bitLength(250000) 233.00 ns/op 259.00 ns/op 0.90
bitLengthStr(250000) 342.00 ns/op 336.00 ns/op 1.02
merkleize 32 chunks 12.920 us/op 12.844 us/op 1.01
merkleizeBlocksBytes 32 chunks 3.0810 us/op 4.1560 us/op 0.74
merkleizeBlockArray 32 chunks 5.8830 us/op 7.2100 us/op 0.82
merkleize 128 chunks 50.340 us/op 50.045 us/op 1.01
merkleizeBlocksBytes 128 chunks 7.3030 us/op 11.083 us/op 0.66
merkleizeBlockArray 128 chunks 16.923 us/op 21.576 us/op 0.78
merkleize 512 chunks 201.36 us/op 197.83 us/op 1.02
merkleizeBlocksBytes 512 chunks 22.475 us/op 37.067 us/op 0.61
merkleizeBlockArray 512 chunks 57.707 us/op 74.308 us/op 0.78
merkleize 1024 chunks 401.62 us/op 399.33 us/op 1.01
merkleizeBlocksBytes 1024 chunks 42.481 us/op 70.676 us/op 0.60
merkleizeBlockArray 1024 chunks 112.55 us/op 143.31 us/op 0.79
floor - Math.floor (53) 1.2441 ns/op 1.1526 ns/op 1.08
floor - << 0 (53) 1.2438 ns/op 1.1519 ns/op 1.08
floor - Math.floor (512) 1.2439 ns/op 1.1516 ns/op 1.08
floor - << 0 (512) 1.2434 ns/op 1.1523 ns/op 1.08
fnIf(0) 1.5668 ns/op 1.4397 ns/op 1.09
fnSwitch(0) 2.1755 ns/op 2.2274 ns/op 0.98
fnObj(0) 1.5595 ns/op 1.8732 ns/op 0.83
fnArr(0) 1.5547 ns/op 1.8720 ns/op 0.83
fnIf(4) 2.1765 ns/op 2.2713 ns/op 0.96
fnSwitch(4) 2.1747 ns/op 2.2266 ns/op 0.98
fnObj(4) 1.5635 ns/op 1.8721 ns/op 0.84
fnArr(4) 1.5634 ns/op 1.8713 ns/op 0.84
fnIf(9) 3.1151 ns/op 3.7428 ns/op 0.83
fnSwitch(9) 2.1775 ns/op 2.2682 ns/op 0.96
fnObj(9) 1.5554 ns/op 1.8718 ns/op 0.83
fnArr(9) 1.5548 ns/op 1.8716 ns/op 0.83
Container {a,b,vec} - as struct x100000 124.55 us/op 129.83 us/op 0.96
Container {a,b,vec} - as tree x100000 558.93 us/op 504.68 us/op 1.11
Container {a,vec,b} - as struct x100000 155.78 us/op 144.14 us/op 1.08
Container {a,vec,b} - as tree x100000 559.75 us/op 560.03 us/op 1.00
get 2 props x1000000 - rawObject 311.17 us/op 288.30 us/op 1.08
get 2 props x1000000 - proxy 73.078 ms/op 63.450 ms/op 1.15
get 2 props x1000000 - customObj 311.23 us/op 288.49 us/op 1.08
Simple object binary -> struct 589.00 ns/op 595.00 ns/op 0.99
Simple object binary -> tree_backed 1.5990 us/op 2.0860 us/op 0.77
Simple object struct -> tree_backed 2.1210 us/op 2.8540 us/op 0.74
Simple object tree_backed -> struct 1.4850 us/op 1.8150 us/op 0.82
Simple object struct -> binary 845.00 ns/op 1.1630 us/op 0.73
Simple object tree_backed -> binary 1.2280 us/op 1.5650 us/op 0.78
aggregationBits binary -> struct 509.00 ns/op 545.00 ns/op 0.93
aggregationBits binary -> tree_backed 2.0750 us/op 2.7420 us/op 0.76
aggregationBits struct -> tree_backed 2.4330 us/op 3.4610 us/op 0.70
aggregationBits tree_backed -> struct 969.00 ns/op 1.2980 us/op 0.75
aggregationBits struct -> binary 709.00 ns/op 951.00 ns/op 0.75
aggregationBits tree_backed -> binary 816.00 ns/op 1.1820 us/op 0.69
List(uint8) 100000 binary -> struct 873.24 us/op 903.03 us/op 0.97
List(uint8) 100000 binary -> tree_backed 260.17 us/op 314.28 us/op 0.83
List(uint8) 100000 struct -> tree_backed 1.3051 ms/op 1.2492 ms/op 1.04
List(uint8) 100000 tree_backed -> struct 968.36 us/op 915.37 us/op 1.06
List(uint8) 100000 struct -> binary 1.0648 ms/op 902.72 us/op 1.18
List(uint8) 100000 tree_backed -> binary 107.30 us/op 101.66 us/op 1.06
List(uint64Number) 100000 binary -> struct 1.2516 ms/op 1.3164 ms/op 0.95
List(uint64Number) 100000 binary -> tree_backed 4.2730 ms/op 5.0642 ms/op 0.84
List(uint64Number) 100000 struct -> tree_backed 6.2380 ms/op 6.4712 ms/op 0.96
List(uint64Number) 100000 tree_backed -> struct 2.3489 ms/op 2.3874 ms/op 0.98
List(uint64Number) 100000 struct -> binary 1.4341 ms/op 1.4518 ms/op 0.99
List(uint64Number) 100000 tree_backed -> binary 1.0586 ms/op 1.2770 ms/op 0.83
List(Uint64Bigint) 100000 binary -> struct 3.7337 ms/op 4.0205 ms/op 0.93
List(Uint64Bigint) 100000 binary -> tree_backed 4.4169 ms/op 4.6316 ms/op 0.95
List(Uint64Bigint) 100000 struct -> tree_backed 7.0166 ms/op 7.0506 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> struct 4.7458 ms/op 4.6568 ms/op 1.02
List(Uint64Bigint) 100000 struct -> binary 2.1068 ms/op 1.8116 ms/op 1.16
List(Uint64Bigint) 100000 tree_backed -> binary 1.0470 ms/op 1.2280 ms/op 0.85
Vector(Root) 100000 binary -> struct 34.286 ms/op 36.586 ms/op 0.94
Vector(Root) 100000 binary -> tree_backed 35.325 ms/op 33.391 ms/op 1.06
Vector(Root) 100000 struct -> tree_backed 50.113 ms/op 53.851 ms/op 0.93
Vector(Root) 100000 tree_backed -> struct 49.610 ms/op 54.467 ms/op 0.91
Vector(Root) 100000 struct -> binary 3.0403 ms/op 2.9527 ms/op 1.03
Vector(Root) 100000 tree_backed -> binary 6.3570 ms/op 6.5557 ms/op 0.97
List(Validator) 100000 binary -> struct 99.006 ms/op 120.35 ms/op 0.82
List(Validator) 100000 binary -> tree_backed 318.00 ms/op 359.96 ms/op 0.88
List(Validator) 100000 struct -> tree_backed 357.00 ms/op 384.95 ms/op 0.93
List(Validator) 100000 tree_backed -> struct 207.86 ms/op 216.46 ms/op 0.96
List(Validator) 100000 struct -> binary 29.051 ms/op 28.320 ms/op 1.03
List(Validator) 100000 tree_backed -> binary 110.01 ms/op 101.26 ms/op 1.09
List(Validator-NS) 100000 binary -> struct 108.39 ms/op 117.73 ms/op 0.92
List(Validator-NS) 100000 binary -> tree_backed 131.21 ms/op 133.77 ms/op 0.98
List(Validator-NS) 100000 struct -> tree_backed 184.81 ms/op 194.81 ms/op 0.95
List(Validator-NS) 100000 tree_backed -> struct 148.46 ms/op 163.33 ms/op 0.91
List(Validator-NS) 100000 struct -> binary 7.2649 ms/op 8.1447 ms/op 0.89
List(Validator-NS) 100000 tree_backed -> binary 12.423 ms/op 14.254 ms/op 0.87
get epochStatuses - MutableVector 99.718 us/op 78.706 us/op 1.27
get epochStatuses - ViewDU 175.60 us/op 179.60 us/op 0.98
set epochStatuses - ListTreeView 2.1165 ms/op 2.1177 ms/op 1.00
set epochStatuses - ListTreeView - set() 445.45 us/op 448.06 us/op 0.99
set epochStatuses - ListTreeView - commit() 796.86 us/op 796.60 us/op 1.00
bitstring 514.29 ns/op 528.26 ns/op 0.97
bit mask 13.798 ns/op 10.417 ns/op 1.32
struct - increase slot to 1000000 934.05 us/op 2.5384 ms/op 0.37
UintNumberType - increase slot to 1000000 27.715 ms/op 25.577 ms/op 1.08
UintBigintType - increase slot to 1000000 175.55 ms/op 182.32 ms/op 0.96
UintBigint8 x 100000 tree_deserialize 5.5644 ms/op 5.3769 ms/op 1.03
UintBigint8 x 100000 tree_serialize 610.75 us/op 539.63 us/op 1.13
UintBigint16 x 100000 tree_deserialize 5.6894 ms/op 5.2493 ms/op 1.08
UintBigint16 x 100000 tree_serialize 1.3511 ms/op 1.3618 ms/op 0.99
UintBigint32 x 100000 tree_deserialize 5.5273 ms/op 5.7041 ms/op 0.97
UintBigint32 x 100000 tree_serialize 1.7113 ms/op 1.6251 ms/op 1.05
UintBigint64 x 100000 tree_deserialize 6.3267 ms/op 6.2666 ms/op 1.01
UintBigint64 x 100000 tree_serialize 1.6999 ms/op 1.6668 ms/op 1.02
UintBigint8 x 100000 value_deserialize 404.51 us/op 374.63 us/op 1.08
UintBigint8 x 100000 value_serialize 762.15 us/op 904.41 us/op 0.84
UintBigint16 x 100000 value_deserialize 467.02 us/op 414.32 us/op 1.13
UintBigint16 x 100000 value_serialize 796.21 us/op 918.72 us/op 0.87
UintBigint32 x 100000 value_deserialize 497.62 us/op 457.84 us/op 1.09
UintBigint32 x 100000 value_serialize 837.30 us/op 922.02 us/op 0.91
UintBigint64 x 100000 value_deserialize 530.93 us/op 525.96 us/op 1.01
UintBigint64 x 100000 value_serialize 984.33 us/op 1.1239 ms/op 0.88
UintBigint8 x 100000 deserialize 3.1469 ms/op 3.4651 ms/op 0.91
UintBigint8 x 100000 serialize 1.5853 ms/op 1.4221 ms/op 1.11
UintBigint16 x 100000 deserialize 3.2347 ms/op 3.5725 ms/op 0.91
UintBigint16 x 100000 serialize 1.5207 ms/op 1.4822 ms/op 1.03
UintBigint32 x 100000 deserialize 3.2814 ms/op 3.6404 ms/op 0.90
UintBigint32 x 100000 serialize 2.8033 ms/op 3.2575 ms/op 0.86
UintBigint64 x 100000 deserialize 4.1133 ms/op 3.9891 ms/op 1.03
UintBigint64 x 100000 serialize 1.6684 ms/op 1.5060 ms/op 1.11
UintBigint128 x 100000 deserialize 5.6269 ms/op 5.5805 ms/op 1.01
UintBigint128 x 100000 serialize 14.999 ms/op 15.282 ms/op 0.98
UintBigint256 x 100000 deserialize 8.3044 ms/op 8.4323 ms/op 0.98
UintBigint256 x 100000 serialize 43.901 ms/op 43.008 ms/op 1.02
Slice from Uint8Array x25000 1.3465 ms/op 1.6995 ms/op 0.79
Slice from ArrayBuffer x25000 15.415 ms/op 23.363 ms/op 0.66
Slice from ArrayBuffer x25000 + new Uint8Array 14.914 ms/op 25.733 ms/op 0.58
Copy Uint8Array 100000 iterate 1.7704 ms/op 1.5801 ms/op 1.12
Copy Uint8Array 100000 slice 97.461 us/op 106.88 us/op 0.91
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 97.153 us/op 106.39 us/op 0.91
Copy Buffer 100000 Uint8Array.prototype.slice.call 100.05 us/op 110.14 us/op 0.91
Copy Uint8Array 100000 slice + set 198.51 us/op 237.73 us/op 0.84
Copy Uint8Array 100000 subarray + set 98.131 us/op 113.50 us/op 0.86
Copy Uint8Array 100000 slice arrayBuffer 102.13 us/op 104.62 us/op 0.98
Uint64 deserialize 100000 - iterate Uint8Array 1.8466 ms/op 1.7127 ms/op 1.08
Uint64 deserialize 100000 - by Uint32A 1.7922 ms/op 1.6719 ms/op 1.07
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.9341 ms/op 1.6807 ms/op 1.15
Uint64 deserialize 100000 - by DataView.getBigUint64 4.8349 ms/op 4.8634 ms/op 0.99
Uint64 deserialize 100000 - by byte 40.136 ms/op 50.687 ms/op 0.79

by benchmarkbot/action

@wemeetagain
Copy link
Copy Markdown
Member

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