Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release master #466

Merged
merged 1 commit into from
Mar 12, 2025
Merged

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Feb 27, 2025

🤖 I have created a release beep boop

as-sha256: 1.1.0

1.1.0 (2025-03-12)

Features

  • add tests workflow for bun and deno (#423) (089daed)
  • improve type.hashTreeRoot() using batch (#409) (66742f0)
persistent-merkle-tree: 1.1.0

1.1.0 (2025-03-12)

Features

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 1.0.0 to 1.1.0
ssz: 1.1.0

1.1.0 (2025-03-12)

Features

Bug Fixes

  • do not rebind node if unchanged child ViewDUs (#470) (ab23b30)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 1.0.0 to 1.1.0
      • @chainsafe/persistent-merkle-tree bumped from 1.0.1 to 1.1.0

This PR was generated with Release Please. See documentation.

@nazarhussain
Copy link
Contributor

@wemeetagain Seems like just the change is related to test workflow. Is it required to release it as minor version change?

@nflaig
Copy link
Member

nflaig commented Feb 27, 2025

@wemeetagain Seems like just the change is related to test workflow. Is it required to release it as minor version change?

you tagged it as a new feature by using feat: instead of proper tag like chore: or test:

Copy link

github-actions bot commented Feb 27, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 04fb50f Previous: 66742f0 Ratio
digestTwoHashObjects 50023 times 48.261 ms/op 48.222 ms/op 1.00
digest2Bytes32 50023 times 54.196 ms/op 54.992 ms/op 0.99
digest 50023 times 53.547 ms/op 54.116 ms/op 0.99
input length 32 1.1860 us/op 1.1750 us/op 1.01
input length 64 1.2920 us/op 1.2840 us/op 1.01
input length 128 2.2520 us/op 2.2590 us/op 1.00
input length 256 3.3750 us/op 3.3550 us/op 1.01
input length 512 5.4980 us/op 5.5060 us/op 1.00
input length 1024 10.924 us/op 10.674 us/op 1.02
digest 1000000 times 858.45 ms/op 856.13 ms/op 1.00
hashObjectToByteArray 50023 times 1.2282 ms/op 1.2288 ms/op 1.00
byteArrayToHashObject 50023 times 1.5248 ms/op 1.5668 ms/op 0.97
digest64 200092 times 212.49 ms/op 214.68 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 236.85 ms/op 241.19 ms/op 0.98
digest64HashObjects 200092 times 193.81 ms/op 192.94 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 208.78 ms/op 201.07 ms/op 1.04
getGindicesAtDepth 3.4190 us/op 3.4420 us/op 0.99
iterateAtDepth 6.3110 us/op 6.3610 us/op 0.99
getGindexBits 378.00 ns/op 362.00 ns/op 1.04
gindexIterator 839.00 ns/op 817.00 ns/op 1.03
HashComputationLevel.push then loop 25.697 ms/op 26.614 ms/op 0.97
HashComputation[] push then loop 47.201 ms/op 49.268 ms/op 0.96
hash 2 Uint8Array 500000 times - hashtree 217.69 ms/op 226.33 ms/op 0.96
hashTwoObjects 500000 times - hashtree 209.45 ms/op 219.51 ms/op 0.95
executeHashComputations - hashtree 10.156 ms/op 10.982 ms/op 0.92
hash 2 Uint8Array 500000 times - as-sha256 561.02 ms/op 562.87 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 506.76 ms/op 508.70 ms/op 1.00
executeHashComputations - as-sha256 44.864 ms/op 45.292 ms/op 0.99
hash 2 Uint8Array 500000 times - noble 1.2081 s/op 1.2128 s/op 1.00
hashTwoObjects 500000 times - noble 1.6268 s/op 1.6214 s/op 1.00
executeHashComputations - noble 36.484 ms/op 37.232 ms/op 0.98
getHashComputations 2.2004 ms/op 2.3259 ms/op 0.95
executeHashComputations 10.437 ms/op 10.151 ms/op 1.03
get root 15.563 ms/op 15.784 ms/op 0.99
getNodeH() x7812.5 avg hindex 12.353 us/op 12.416 us/op 0.99
getNodeH() x7812.5 index 0 7.5190 us/op 7.4840 us/op 1.00
getNodeH() x7812.5 index 7 7.5970 us/op 7.4470 us/op 1.02
getNodeH() x7812.5 index 7 with key array 6.3710 us/op 6.3550 us/op 1.00
new LeafNode() x7812.5 312.34 us/op 301.29 us/op 1.04
getHashComputations 250000 nodes 14.713 ms/op 14.746 ms/op 1.00
batchHash 250000 nodes 88.637 ms/op 87.475 ms/op 1.01
get root 250000 nodes 116.35 ms/op 117.51 ms/op 0.99
getHashComputations 500000 nodes 28.290 ms/op 30.366 ms/op 0.93
batchHash 500000 nodes 155.72 ms/op 155.73 ms/op 1.00
get root 500000 nodes 234.08 ms/op 236.35 ms/op 0.99
getHashComputations 1000000 nodes 73.757 ms/op 82.758 ms/op 0.89
batchHash 1000000 nodes 320.99 ms/op 368.65 ms/op 0.87
get root 1000000 nodes 471.45 ms/op 469.26 ms/op 1.00
multiproof - depth 15, 1 requested leaves 8.1310 us/op 8.0150 us/op 1.01
tree offset multiproof - depth 15, 1 requested leaves 18.245 us/op 17.841 us/op 1.02
compact multiproof - depth 15, 1 requested leaves 3.0760 us/op 3.0990 us/op 0.99
multiproof - depth 15, 2 requested leaves 11.484 us/op 11.361 us/op 1.01
tree offset multiproof - depth 15, 2 requested leaves 21.219 us/op 21.610 us/op 0.98
compact multiproof - depth 15, 2 requested leaves 3.0290 us/op 3.1000 us/op 0.98
multiproof - depth 15, 3 requested leaves 16.362 us/op 16.107 us/op 1.02
tree offset multiproof - depth 15, 3 requested leaves 27.771 us/op 28.342 us/op 0.98
compact multiproof - depth 15, 3 requested leaves 3.7480 us/op 3.7830 us/op 0.99
multiproof - depth 15, 4 requested leaves 21.665 us/op 21.079 us/op 1.03
tree offset multiproof - depth 15, 4 requested leaves 33.854 us/op 33.950 us/op 1.00
compact multiproof - depth 15, 4 requested leaves 4.4620 us/op 4.4900 us/op 0.99
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.6840 us/op 5.5470 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.7570 us/op 5.6800 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.7190 us/op 5.5690 us/op 1.03
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.7670 us/op 5.5490 us/op 1.04
subtreeFillToContents depth 40 count 250000 50.048 ms/op 47.981 ms/op 1.04
setRoot - gindexBitstring 21.346 ms/op 21.328 ms/op 1.00
setRoot - gindex 21.382 ms/op 21.917 ms/op 0.98
getRoot - gindexBitstring 2.5731 ms/op 2.6404 ms/op 0.97
getRoot - gindex 2.9933 ms/op 3.1563 ms/op 0.95
getHashObject then setHashObject 21.695 ms/op 22.657 ms/op 0.96
setNodeWithFn 19.744 ms/op 20.203 ms/op 0.98
getNodeAtDepth depth 0 x100000 280.96 us/op 280.97 us/op 1.00
setNodeAtDepth depth 0 x100000 2.5424 ms/op 2.6096 ms/op 0.97
getNodesAtDepth depth 0 x100000 312.52 us/op 312.48 us/op 1.00
setNodesAtDepth depth 0 x100000 757.60 us/op 766.38 us/op 0.99
getNodeAtDepth depth 1 x100000 348.92 us/op 342.26 us/op 1.02
setNodeAtDepth depth 1 x100000 8.2751 ms/op 8.3236 ms/op 0.99
getNodesAtDepth depth 1 x100000 435.63 us/op 437.18 us/op 1.00
setNodesAtDepth depth 1 x100000 6.9178 ms/op 6.8082 ms/op 1.02
getNodeAtDepth depth 2 x100000 744.63 us/op 747.84 us/op 1.00
setNodeAtDepth depth 2 x100000 15.641 ms/op 15.759 ms/op 0.99
getNodesAtDepth depth 2 x100000 17.484 ms/op 17.832 ms/op 0.98
setNodesAtDepth depth 2 x100000 22.264 ms/op 23.473 ms/op 0.95
tree.getNodesAtDepth - gindexes 9.2510 ms/op 10.184 ms/op 0.91
tree.getNodesAtDepth - push all nodes 2.4559 ms/op 2.4072 ms/op 1.02
tree.getNodesAtDepth - navigation 311.50 us/op 311.81 us/op 1.00
tree.setNodesAtDepth - indexes 761.55 us/op 721.20 us/op 1.06
set at depth 8 806.00 ns/op 782.00 ns/op 1.03
set at depth 16 1.1510 us/op 1.2550 us/op 0.92
set at depth 32 2.2250 us/op 2.1260 us/op 1.05
iterateNodesAtDepth 8 256 15.792 us/op 15.250 us/op 1.04
getNodesAtDepth 8 256 4.0500 us/op 4.2120 us/op 0.96
iterateNodesAtDepth 16 65536 4.7087 ms/op 5.4861 ms/op 0.86
getNodesAtDepth 16 65536 2.0326 ms/op 1.5647 ms/op 1.30
iterateNodesAtDepth 32 250000 17.384 ms/op 16.057 ms/op 1.08
getNodesAtDepth 32 250000 5.9567 ms/op 4.5628 ms/op 1.31
iterateNodesAtDepth 40 250000 17.073 ms/op 16.026 ms/op 1.07
getNodesAtDepth 40 250000 5.4304 ms/op 4.5134 ms/op 1.20
250000 validators root getter 118.13 ms/op 118.47 ms/op 1.00
250000 validators batchHash() 105.25 ms/op 89.039 ms/op 1.18
250000 validators hashComputations 19.327 ms/op 14.514 ms/op 1.33
bitlist bytes to struct (120,90) 718.00 ns/op 803.00 ns/op 0.89
bitlist bytes to tree (120,90) 2.7720 us/op 3.1120 us/op 0.89
bitlist bytes to struct (2048,2048) 1.2090 us/op 1.1780 us/op 1.03
bitlist bytes to tree (2048,2048) 4.5070 us/op 4.1770 us/op 1.08
ByteListType - deserialize 9.2128 ms/op 7.6613 ms/op 1.20
BasicListType - deserialize 15.624 ms/op 14.691 ms/op 1.06
ByteListType - serialize 8.0039 ms/op 7.6780 ms/op 1.04
BasicListType - serialize 11.577 ms/op 10.404 ms/op 1.11
BasicListType - tree_convertToStruct 28.624 ms/op 26.817 ms/op 1.07
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.4419 ms/op 4.7325 ms/op 1.15
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.3984 ms/op 4.3983 ms/op 1.00
Array.push len 300000 empty Array - number 7.5791 ms/op 7.0984 ms/op 1.07
Array.set len 300000 from new Array - number 2.4425 ms/op 1.9535 ms/op 1.25
Array.set len 300000 - number 6.7354 ms/op 6.4557 ms/op 1.04
Uint8Array.set len 300000 495.80 us/op 490.96 us/op 1.01
Uint32Array.set len 300000 576.55 us/op 570.53 us/op 1.01
Container({a: uint8, b: uint8}) getViewDU x300000 37.292 ms/op 25.517 ms/op 1.46
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.890 ms/op 10.595 ms/op 1.12
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 228.50 ms/op 212.90 ms/op 1.07
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 303.28 ms/op 251.94 ms/op 1.20
List(Container) len 300000 ViewDU.get(i) 10.965 ms/op 7.1620 ms/op 1.53
List(Container) len 300000 ViewDU.getReadonly(i) 10.969 ms/op 6.8957 ms/op 1.59
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 38.657 ms/op 38.732 ms/op 1.00
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 6.8889 ms/op 5.1944 ms/op 1.33
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 10.245 ms/op 6.4012 ms/op 1.60
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 10.297 ms/op 6.2103 ms/op 1.66
Array.push len 300000 empty Array - object 7.2269 ms/op 7.0492 ms/op 1.03
Array.set len 300000 from new Array - object 2.4284 ms/op 2.0988 ms/op 1.16
Array.set len 300000 - object 7.0473 ms/op 6.3088 ms/op 1.12
cachePermanentRootStruct no cache 3.5820 us/op 3.5280 us/op 1.02
cachePermanentRootStruct with cache 279.00 ns/op 215.00 ns/op 1.30
epochParticipation len 250000 rws 7813 2.5675 ms/op 2.4713 ms/op 1.04
Deneb BeaconBlock.hashTreeRoot(), numTransaction=200 5.8122 ms/op 5.4818 ms/op 1.06
BeaconState ViewDU hashTreeRoot() vc=200000 115.89 ms/op 114.36 ms/op 1.01
BeaconState ViewDU recursive hash - commit step vc=200000 4.4411 ms/op 4.9293 ms/op 0.90
BeaconState ViewDU validator tree creation vc=10000 38.522 ms/op 39.187 ms/op 0.98
BeaconState ViewDU batchHashTreeRoot vc=200000 104.07 ms/op 99.795 ms/op 1.04
BeaconState ViewDU hashTreeRoot - commit step vc=200000 90.356 ms/op 91.570 ms/op 0.99
BeaconState ViewDU hashTreeRoot - hash step vc=200000 15.402 ms/op 16.207 ms/op 0.95
deserialize Attestation - tree 3.4090 us/op 3.5440 us/op 0.96
deserialize Attestation - struct 1.7890 us/op 1.8600 us/op 0.96
deserialize SignedAggregateAndProof - tree 4.5850 us/op 4.7280 us/op 0.97
deserialize SignedAggregateAndProof - struct 2.8610 us/op 3.0400 us/op 0.94
deserialize SyncCommitteeMessage - tree 1.3530 us/op 1.3940 us/op 0.97
deserialize SyncCommitteeMessage - struct 1.0630 us/op 1.0370 us/op 1.03
deserialize SignedContributionAndProof - tree 2.7830 us/op 2.8810 us/op 0.97
deserialize SignedContributionAndProof - struct 2.1850 us/op 2.3670 us/op 0.92
deserialize SignedBeaconBlock - tree 263.83 us/op 277.57 us/op 0.95
deserialize SignedBeaconBlock - struct 116.16 us/op 120.75 us/op 0.96
BeaconState vc 300000 - deserialize tree 654.97 ms/op 636.97 ms/op 1.03
BeaconState vc 300000 - serialize tree 162.26 ms/op 150.68 ms/op 1.08
BeaconState.historicalRoots vc 300000 - deserialize tree 833.00 ns/op 869.00 ns/op 0.96
BeaconState.historicalRoots vc 300000 - serialize tree 645.00 ns/op 641.00 ns/op 1.01
BeaconState.validators vc 300000 - deserialize tree 608.38 ms/op 603.80 ms/op 1.01
BeaconState.validators vc 300000 - serialize tree 99.832 ms/op 101.55 ms/op 0.98
BeaconState.balances vc 300000 - deserialize tree 27.146 ms/op 27.419 ms/op 0.99
BeaconState.balances vc 300000 - serialize tree 4.3306 ms/op 4.2650 ms/op 1.02
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.0276 ms/op 957.52 us/op 1.07
BeaconState.previousEpochParticipation vc 300000 - serialize tree 354.70 us/op 335.71 us/op 1.06
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0565 ms/op 979.31 us/op 1.08
BeaconState.currentEpochParticipation vc 300000 - serialize tree 350.06 us/op 346.11 us/op 1.01
BeaconState.inactivityScores vc 300000 - deserialize tree 28.060 ms/op 26.139 ms/op 1.07
BeaconState.inactivityScores vc 300000 - serialize tree 4.5048 ms/op 3.7034 ms/op 1.22
hashTreeRoot Attestation - struct 15.207 us/op 12.538 us/op 1.21
hashTreeRoot Attestation - tree 9.1640 us/op 9.2210 us/op 0.99
hashTreeRoot SignedAggregateAndProof - struct 17.617 us/op 15.470 us/op 1.14
hashTreeRoot SignedAggregateAndProof - tree 13.698 us/op 13.814 us/op 0.99
hashTreeRoot SyncCommitteeMessage - struct 4.2340 us/op 3.8950 us/op 1.09
hashTreeRoot SyncCommitteeMessage - tree 3.6610 us/op 3.6700 us/op 1.00
hashTreeRoot SignedContributionAndProof - struct 10.439 us/op 9.3520 us/op 1.12
hashTreeRoot SignedContributionAndProof - tree 9.3950 us/op 9.5910 us/op 0.98
hashTreeRoot SignedBeaconBlock - struct 811.12 us/op 810.91 us/op 1.00
hashTreeRoot SignedBeaconBlock - tree 806.03 us/op 815.41 us/op 0.99
hashTreeRoot Validator - struct 4.9150 us/op 4.6240 us/op 1.06
hashTreeRoot Validator - tree 7.6310 us/op 6.8680 us/op 1.11
BeaconState vc 300000 - hashTreeRoot tree 2.2468 s/op 2.2760 s/op 0.99
BeaconState vc 300000 - batchHashTreeRoot tree 4.1162 s/op 4.1719 s/op 0.99
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0470 us/op 1.0290 us/op 1.02
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4829 s/op 2.4439 s/op 1.02
BeaconState.balances vc 300000 - hashTreeRoot tree 34.701 ms/op 35.258 ms/op 0.98
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.2839 ms/op 4.3481 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.2851 ms/op 4.3738 ms/op 0.98
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 37.997 ms/op 35.154 ms/op 1.08
hash64 x18 8.9190 us/op 9.2910 us/op 0.96
hashTwoObjects x18 8.6110 us/op 8.2050 us/op 1.05
hash64 x1740 831.55 us/op 845.90 us/op 0.98
hashTwoObjects x1740 775.72 us/op 754.53 us/op 1.03
hash64 x2700000 1.2880 s/op 1.3273 s/op 0.97
hashTwoObjects x2700000 1.2101 s/op 1.1687 s/op 1.04
get_exitEpoch - ContainerType 258.00 ns/op 253.00 ns/op 1.02
get_exitEpoch - ContainerNodeStructType 239.00 ns/op 241.00 ns/op 0.99
set_exitEpoch - ContainerType 260.00 ns/op 260.00 ns/op 1.00
set_exitEpoch - ContainerNodeStructType 271.00 ns/op 242.00 ns/op 1.12
get_pubkey - ContainerType 968.00 ns/op 1.0660 us/op 0.91
get_pubkey - ContainerNodeStructType 281.00 ns/op 245.00 ns/op 1.15
hashTreeRoot - ContainerType 508.00 ns/op 430.00 ns/op 1.18
hashTreeRoot - ContainerNodeStructType 471.00 ns/op 405.00 ns/op 1.16
createProof - ContainerType 4.3590 us/op 4.1840 us/op 1.04
createProof - ContainerNodeStructType 22.968 us/op 21.256 us/op 1.08
serialize - ContainerType 1.6680 us/op 1.7530 us/op 0.95
serialize - ContainerNodeStructType 1.4640 us/op 1.4820 us/op 0.99
set_exitEpoch_and_hashTreeRoot - ContainerType 3.6560 us/op 3.0160 us/op 1.21
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.6150 us/op 7.5180 us/op 1.01
Array - for of 10.674 us/op 8.2010 us/op 1.30
Array - for(;;) 10.348 us/op 8.1920 us/op 1.26
basicListValue.readonlyValuesArray() 4.2800 ms/op 4.3237 ms/op 0.99
basicListValue.readonlyValuesArray() + loop all 4.4081 ms/op 4.4085 ms/op 1.00
compositeListValue.readonlyValuesArray() 25.978 ms/op 32.724 ms/op 0.79
compositeListValue.readonlyValuesArray() + loop all 31.361 ms/op 27.708 ms/op 1.13
Number64UintType - get balances list 4.4226 ms/op 4.4544 ms/op 0.99
Number64UintType - set balances list 10.093 ms/op 10.006 ms/op 1.01
Number64UintType - get and increase 10 then set 44.280 ms/op 43.954 ms/op 1.01
Number64UintType - increase 10 using applyDelta 16.468 ms/op 16.506 ms/op 1.00
Number64UintType - increase 10 using applyDeltaInBatch 16.526 ms/op 16.997 ms/op 0.97
tree_newTreeFromUint64Deltas 23.138 ms/op 22.861 ms/op 1.01
unsafeUint8ArrayToTree 36.537 ms/op 39.401 ms/op 0.93
bitLength(50) 224.00 ns/op 267.00 ns/op 0.84
bitLengthStr(50) 212.00 ns/op 236.00 ns/op 0.90
bitLength(8000) 208.00 ns/op 237.00 ns/op 0.88
bitLengthStr(8000) 260.00 ns/op 289.00 ns/op 0.90
bitLength(250000) 206.00 ns/op 255.00 ns/op 0.81
bitLengthStr(250000) 308.00 ns/op 309.00 ns/op 1.00
merkleize 32 chunks 14.883 us/op 15.464 us/op 0.96
merkleizeBlocksBytes 32 chunks 3.4120 us/op 3.5450 us/op 0.96
merkleizeBlockArray 32 chunks 6.3750 us/op 6.6910 us/op 0.95
merkleize 128 chunks 57.861 us/op 64.735 us/op 0.89
merkleizeBlocksBytes 128 chunks 7.6800 us/op 7.8900 us/op 0.97
merkleizeBlockArray 128 chunks 18.100 us/op 18.990 us/op 0.95
merkleize 512 chunks 229.05 us/op 249.05 us/op 0.92
merkleizeBlocksBytes 512 chunks 22.935 us/op 23.294 us/op 0.98
merkleizeBlockArray 512 chunks 62.289 us/op 67.306 us/op 0.93
merkleize 1024 chunks 461.93 us/op 509.99 us/op 0.91
merkleizeBlocksBytes 1024 chunks 43.525 us/op 43.328 us/op 1.00
merkleizeBlockArray 1024 chunks 122.56 us/op 126.11 us/op 0.97
floor - Math.floor (53) 1.2436 ns/op 1.2433 ns/op 1.00
floor - << 0 (53) 1.2441 ns/op 1.2432 ns/op 1.00
floor - Math.floor (512) 1.2429 ns/op 1.2428 ns/op 1.00
floor - << 0 (512) 1.2435 ns/op 1.2430 ns/op 1.00
fnIf(0) 1.5575 ns/op 1.5554 ns/op 1.00
fnSwitch(0) 2.1756 ns/op 2.1749 ns/op 1.00
fnObj(0) 1.5589 ns/op 1.5570 ns/op 1.00
fnArr(0) 1.5623 ns/op 1.5542 ns/op 1.01
fnIf(4) 2.1956 ns/op 2.1792 ns/op 1.01
fnSwitch(4) 2.1784 ns/op 2.1850 ns/op 1.00
fnObj(4) 1.5608 ns/op 1.5601 ns/op 1.00
fnArr(4) 1.5546 ns/op 1.5547 ns/op 1.00
fnIf(9) 3.1165 ns/op 3.1152 ns/op 1.00
fnSwitch(9) 2.1982 ns/op 2.1769 ns/op 1.01
fnObj(9) 1.5621 ns/op 1.5721 ns/op 0.99
fnArr(9) 1.5533 ns/op 1.5549 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.61 us/op 124.81 us/op 1.00
Container {a,b,vec} - as tree x100000 559.71 us/op 559.79 us/op 1.00
Container {a,vec,b} - as struct x100000 158.20 us/op 156.00 us/op 1.01
Container {a,vec,b} - as tree x100000 559.79 us/op 559.94 us/op 1.00
get 2 props x1000000 - rawObject 317.69 us/op 311.25 us/op 1.02
get 2 props x1000000 - proxy 73.112 ms/op 73.088 ms/op 1.00
get 2 props x1000000 - customObj 311.91 us/op 311.50 us/op 1.00
Simple object binary -> struct 564.00 ns/op 630.00 ns/op 0.90
Simple object binary -> tree_backed 1.5640 us/op 1.7150 us/op 0.91
Simple object struct -> tree_backed 2.1090 us/op 2.3660 us/op 0.89
Simple object tree_backed -> struct 1.4580 us/op 1.6440 us/op 0.89
Simple object struct -> binary 839.00 ns/op 844.00 ns/op 0.99
Simple object tree_backed -> binary 1.2420 us/op 1.4500 us/op 0.86
aggregationBits binary -> struct 454.00 ns/op 529.00 ns/op 0.86
aggregationBits binary -> tree_backed 2.1330 us/op 2.3580 us/op 0.90
aggregationBits struct -> tree_backed 2.4180 us/op 2.8000 us/op 0.86
aggregationBits tree_backed -> struct 924.00 ns/op 1.1450 us/op 0.81
aggregationBits struct -> binary 639.00 ns/op 714.00 ns/op 0.89
aggregationBits tree_backed -> binary 827.00 ns/op 1.0020 us/op 0.83
List(uint8) 100000 binary -> struct 1.6180 ms/op 1.6701 ms/op 0.97
List(uint8) 100000 binary -> tree_backed 272.74 us/op 332.27 us/op 0.82
List(uint8) 100000 struct -> tree_backed 1.4185 ms/op 1.4486 ms/op 0.98
List(uint8) 100000 tree_backed -> struct 1.1462 ms/op 1.1655 ms/op 0.98
List(uint8) 100000 struct -> binary 1.0376 ms/op 1.1043 ms/op 0.94
List(uint8) 100000 tree_backed -> binary 111.98 us/op 116.90 us/op 0.96
List(uint64Number) 100000 binary -> struct 1.3988 ms/op 1.4853 ms/op 0.94
List(uint64Number) 100000 binary -> tree_backed 5.0720 ms/op 4.3282 ms/op 1.17
List(uint64Number) 100000 struct -> tree_backed 6.6389 ms/op 6.3714 ms/op 1.04
List(uint64Number) 100000 tree_backed -> struct 2.6737 ms/op 2.5111 ms/op 1.06
List(uint64Number) 100000 struct -> binary 1.4589 ms/op 1.4900 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 1.0370 ms/op 1.0662 ms/op 0.97
List(Uint64Bigint) 100000 binary -> struct 3.5203 ms/op 3.5885 ms/op 0.98
List(Uint64Bigint) 100000 binary -> tree_backed 4.4717 ms/op 4.6292 ms/op 0.97
List(Uint64Bigint) 100000 struct -> tree_backed 7.6044 ms/op 7.5534 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> struct 4.8565 ms/op 5.1846 ms/op 0.94
List(Uint64Bigint) 100000 struct -> binary 2.0826 ms/op 2.1297 ms/op 0.98
List(Uint64Bigint) 100000 tree_backed -> binary 1.1035 ms/op 1.2004 ms/op 0.92
Vector(Root) 100000 binary -> struct 38.971 ms/op 36.816 ms/op 1.06
Vector(Root) 100000 binary -> tree_backed 37.237 ms/op 39.641 ms/op 0.94
Vector(Root) 100000 struct -> tree_backed 49.593 ms/op 61.130 ms/op 0.81
Vector(Root) 100000 tree_backed -> struct 49.550 ms/op 53.966 ms/op 0.92
Vector(Root) 100000 struct -> binary 2.7175 ms/op 2.7011 ms/op 1.01
Vector(Root) 100000 tree_backed -> binary 6.3269 ms/op 6.0373 ms/op 1.05
List(Validator) 100000 binary -> struct 104.04 ms/op 100.68 ms/op 1.03
List(Validator) 100000 binary -> tree_backed 326.97 ms/op 363.39 ms/op 0.90
List(Validator) 100000 struct -> tree_backed 376.79 ms/op 390.94 ms/op 0.96
List(Validator) 100000 tree_backed -> struct 203.98 ms/op 221.04 ms/op 0.92
List(Validator) 100000 struct -> binary 29.746 ms/op 28.851 ms/op 1.03
List(Validator) 100000 tree_backed -> binary 111.88 ms/op 109.09 ms/op 1.03
List(Validator-NS) 100000 binary -> struct 112.85 ms/op 115.74 ms/op 0.97
List(Validator-NS) 100000 binary -> tree_backed 163.81 ms/op 160.89 ms/op 1.02
List(Validator-NS) 100000 struct -> tree_backed 207.82 ms/op 205.54 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> struct 171.51 ms/op 168.29 ms/op 1.02
List(Validator-NS) 100000 struct -> binary 29.285 ms/op 28.961 ms/op 1.01
List(Validator-NS) 100000 tree_backed -> binary 34.392 ms/op 33.940 ms/op 1.01
get epochStatuses - MutableVector 98.203 us/op 103.74 us/op 0.95
get epochStatuses - ViewDU 215.00 us/op 214.19 us/op 1.00
set epochStatuses - ListTreeView 2.2202 ms/op 2.2634 ms/op 0.98
set epochStatuses - ListTreeView - set() 477.14 us/op 473.85 us/op 1.01
set epochStatuses - ListTreeView - commit() 787.96 us/op 786.23 us/op 1.00
bitstring 518.64 ns/op 513.46 ns/op 1.01
bit mask 13.342 ns/op 13.366 ns/op 1.00
struct - increase slot to 1000000 932.89 us/op 932.47 us/op 1.00
UintNumberType - increase slot to 1000000 28.774 ms/op 28.333 ms/op 1.02
UintBigintType - increase slot to 1000000 182.48 ms/op 165.85 ms/op 1.10
UintBigint8 x 100000 tree_deserialize 6.5776 ms/op 5.6074 ms/op 1.17
UintBigint8 x 100000 tree_serialize 1.1280 ms/op 1.1341 ms/op 0.99
UintBigint16 x 100000 tree_deserialize 5.9691 ms/op 6.5552 ms/op 0.91
UintBigint16 x 100000 tree_serialize 1.4001 ms/op 1.3684 ms/op 1.02
UintBigint32 x 100000 tree_deserialize 6.5637 ms/op 5.6964 ms/op 1.15
UintBigint32 x 100000 tree_serialize 2.0393 ms/op 1.8394 ms/op 1.11
UintBigint64 x 100000 tree_deserialize 7.1603 ms/op 6.4961 ms/op 1.10
UintBigint64 x 100000 tree_serialize 2.7215 ms/op 2.5310 ms/op 1.08
UintBigint8 x 100000 value_deserialize 435.53 us/op 435.63 us/op 1.00
UintBigint8 x 100000 value_serialize 793.59 us/op 765.89 us/op 1.04
UintBigint16 x 100000 value_deserialize 467.73 us/op 467.18 us/op 1.00
UintBigint16 x 100000 value_serialize 844.12 us/op 811.71 us/op 1.04
UintBigint32 x 100000 value_deserialize 497.47 us/op 498.38 us/op 1.00
UintBigint32 x 100000 value_serialize 874.41 us/op 840.44 us/op 1.04
UintBigint64 x 100000 value_deserialize 561.61 us/op 569.45 us/op 0.99
UintBigint64 x 100000 value_serialize 1.0771 ms/op 1.0384 ms/op 1.04
UintBigint8 x 100000 deserialize 3.5175 ms/op 3.1774 ms/op 1.11
UintBigint8 x 100000 serialize 1.5823 ms/op 1.6337 ms/op 0.97
UintBigint16 x 100000 deserialize 3.6451 ms/op 3.1588 ms/op 1.15
UintBigint16 x 100000 serialize 1.7307 ms/op 1.5303 ms/op 1.13
UintBigint32 x 100000 deserialize 3.1165 ms/op 3.2186 ms/op 0.97
UintBigint32 x 100000 serialize 2.7467 ms/op 2.8126 ms/op 0.98
UintBigint64 x 100000 deserialize 3.8315 ms/op 4.2677 ms/op 0.90
UintBigint64 x 100000 serialize 1.5929 ms/op 1.6403 ms/op 0.97
UintBigint128 x 100000 deserialize 5.5520 ms/op 5.8758 ms/op 0.94
UintBigint128 x 100000 serialize 14.315 ms/op 14.768 ms/op 0.97
UintBigint256 x 100000 deserialize 8.4362 ms/op 9.4738 ms/op 0.89
UintBigint256 x 100000 serialize 42.465 ms/op 43.153 ms/op 0.98
Slice from Uint8Array x25000 1.3179 ms/op 1.2839 ms/op 1.03
Slice from ArrayBuffer x25000 17.174 ms/op 16.348 ms/op 1.05
Slice from ArrayBuffer x25000 + new Uint8Array 18.736 ms/op 16.419 ms/op 1.14
Copy Uint8Array 100000 iterate 2.7120 ms/op 2.7738 ms/op 0.98
Copy Uint8Array 100000 slice 101.60 us/op 96.018 us/op 1.06
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 101.65 us/op 94.250 us/op 1.08
Copy Buffer 100000 Uint8Array.prototype.slice.call 104.46 us/op 95.908 us/op 1.09
Copy Uint8Array 100000 slice + set 210.23 us/op 190.59 us/op 1.10
Copy Uint8Array 100000 subarray + set 100.38 us/op 92.284 us/op 1.09
Copy Uint8Array 100000 slice arrayBuffer 99.762 us/op 95.399 us/op 1.05
Uint64 deserialize 100000 - iterate Uint8Array 1.9945 ms/op 1.8975 ms/op 1.05
Uint64 deserialize 100000 - by Uint32A 1.8772 ms/op 1.7809 ms/op 1.05
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.8931 ms/op 1.8517 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0691 ms/op 4.7695 ms/op 1.06
Uint64 deserialize 100000 - by byte 40.969 ms/op 40.752 ms/op 1.01

by benchmarkbot/action

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from 97d12e7 to e5ae054 Compare March 11, 2025 15:31
@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from e5ae054 to 95c91f6 Compare March 12, 2025 13:48
@wemeetagain wemeetagain enabled auto-merge (squash) March 12, 2025 14:18
@wemeetagain wemeetagain disabled auto-merge March 12, 2025 14:18
@wemeetagain wemeetagain merged commit 2964a57 into master Mar 12, 2025
12 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master branch March 12, 2025 14:18
@wemeetagain
Copy link
Member Author

@wemeetagain
Copy link
Member Author

@wemeetagain
Copy link
Member Author

🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v1.1.0 🌻

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.

3 participants