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 #464

Merged
merged 1 commit into from
Jan 30, 2025
Merged

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Jan 27, 2025

🤖 I have created a release beep boop

ssz: 1.0.2

1.0.2 (2025-01-30)

Bug Fixes

  • ListCompositeTreeViewDU to getAllReadonly() without commit (#456) (94510c9)

This PR was generated with Release Please. See documentation.

nflaig
nflaig previously approved these changes Jan 28, 2025
Copy link

github-actions bot commented Jan 29, 2025

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4c82804 Previous: 94510c9 Ratio
digestTwoHashObjects 50023 times 48.975 ms/op 48.555 ms/op 1.01
digest2Bytes32 50023 times 54.268 ms/op 54.960 ms/op 0.99
digest 50023 times 53.531 ms/op 53.692 ms/op 1.00
input length 32 1.1460 us/op 1.1890 us/op 0.96
input length 64 1.3150 us/op 1.3510 us/op 0.97
input length 128 2.2630 us/op 2.3010 us/op 0.98
input length 256 3.3390 us/op 3.4220 us/op 0.98
input length 512 5.6360 us/op 5.6730 us/op 0.99
input length 1024 10.882 us/op 10.911 us/op 1.00
digest 1000000 times 855.18 ms/op 885.39 ms/op 0.97
hashObjectToByteArray 50023 times 1.2298 ms/op 1.2298 ms/op 1.00
byteArrayToHashObject 50023 times 1.5353 ms/op 1.5944 ms/op 0.96
digest64 200092 times 213.44 ms/op 215.61 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 242.82 ms/op 240.84 ms/op 1.01
digest64HashObjects 200092 times 193.15 ms/op 193.08 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 210.23 ms/op 203.47 ms/op 1.03
getGindicesAtDepth 3.4510 us/op 3.6450 us/op 0.95
iterateAtDepth 6.3320 us/op 6.7800 us/op 0.93
getGindexBits 380.00 ns/op 407.00 ns/op 0.93
gindexIterator 853.00 ns/op 944.00 ns/op 0.90
HashComputationLevel.push then loop 25.701 ms/op 29.195 ms/op 0.88
HashComputation[] push then loop 47.080 ms/op 50.607 ms/op 0.93
hash 2 Uint8Array 500000 times - hashtree 211.86 ms/op 220.75 ms/op 0.96
hashTwoObjects 500000 times - hashtree 213.18 ms/op 214.48 ms/op 0.99
executeHashComputations - hashtree 10.627 ms/op 10.457 ms/op 1.02
hash 2 Uint8Array 500000 times - as-sha256 564.18 ms/op 562.73 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 511.70 ms/op 511.56 ms/op 1.00
executeHashComputations - as-sha256 45.733 ms/op 46.521 ms/op 0.98
hash 2 Uint8Array 500000 times - noble 1.2200 s/op 1.3085 s/op 0.93
hashTwoObjects 500000 times - noble 1.6465 s/op 1.8296 s/op 0.90
executeHashComputations - noble 38.183 ms/op 36.316 ms/op 1.05
getHashComputations 2.1301 ms/op 2.3110 ms/op 0.92
executeHashComputations 9.6700 ms/op 9.8798 ms/op 0.98
get root 15.585 ms/op 15.217 ms/op 1.02
getNodeH() x7812.5 avg hindex 12.379 us/op 12.218 us/op 1.01
getNodeH() x7812.5 index 0 7.4630 us/op 7.4940 us/op 1.00
getNodeH() x7812.5 index 7 7.6940 us/op 7.5230 us/op 1.02
getNodeH() x7812.5 index 7 with key array 6.4310 us/op 6.3760 us/op 1.01
new LeafNode() x7812.5 316.76 us/op 324.46 us/op 0.98
getHashComputations 250000 nodes 14.961 ms/op 15.018 ms/op 1.00
batchHash 250000 nodes 91.843 ms/op 97.909 ms/op 0.94
get root 250000 nodes 117.80 ms/op 115.96 ms/op 1.02
getHashComputations 500000 nodes 44.661 ms/op 28.262 ms/op 1.58
batchHash 500000 nodes 168.89 ms/op 157.05 ms/op 1.08
get root 500000 nodes 234.92 ms/op 236.26 ms/op 0.99
getHashComputations 1000000 nodes 80.920 ms/op 92.591 ms/op 0.87
batchHash 1000000 nodes 373.85 ms/op 379.23 ms/op 0.99
get root 1000000 nodes 475.98 ms/op 457.64 ms/op 1.04
multiproof - depth 15, 1 requested leaves 7.9310 us/op 8.6220 us/op 0.92
tree offset multiproof - depth 15, 1 requested leaves 17.179 us/op 18.851 us/op 0.91
compact multiproof - depth 15, 1 requested leaves 3.0160 us/op 3.2320 us/op 0.93
multiproof - depth 15, 2 requested leaves 11.638 us/op 12.322 us/op 0.94
tree offset multiproof - depth 15, 2 requested leaves 21.180 us/op 22.707 us/op 0.93
compact multiproof - depth 15, 2 requested leaves 3.0270 us/op 3.3140 us/op 0.91
multiproof - depth 15, 3 requested leaves 16.452 us/op 17.274 us/op 0.95
tree offset multiproof - depth 15, 3 requested leaves 27.399 us/op 29.351 us/op 0.93
compact multiproof - depth 15, 3 requested leaves 3.8930 us/op 4.2060 us/op 0.93
multiproof - depth 15, 4 requested leaves 21.755 us/op 22.794 us/op 0.95
tree offset multiproof - depth 15, 4 requested leaves 36.251 us/op 36.363 us/op 1.00
compact multiproof - depth 15, 4 requested leaves 4.2310 us/op 5.1330 us/op 0.82
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.5880 us/op 6.0570 us/op 0.92
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.4560 us/op 5.9980 us/op 0.91
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.4940 us/op 5.8880 us/op 0.93
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.4890 us/op 6.0100 us/op 0.91
subtreeFillToContents depth 40 count 250000 43.029 ms/op 48.141 ms/op 0.89
setRoot - gindexBitstring 21.384 ms/op 23.806 ms/op 0.90
setRoot - gindex 21.448 ms/op 25.067 ms/op 0.86
getRoot - gindexBitstring 2.5373 ms/op 2.9125 ms/op 0.87
getRoot - gindex 3.2005 ms/op 3.5421 ms/op 0.90
getHashObject then setHashObject 22.322 ms/op 27.318 ms/op 0.82
setNodeWithFn 20.086 ms/op 22.253 ms/op 0.90
getNodeAtDepth depth 0 x100000 280.82 us/op 280.87 us/op 1.00
setNodeAtDepth depth 0 x100000 2.4970 ms/op 2.8343 ms/op 0.88
getNodesAtDepth depth 0 x100000 313.98 us/op 312.24 us/op 1.01
setNodesAtDepth depth 0 x100000 755.07 us/op 762.67 us/op 0.99
getNodeAtDepth depth 1 x100000 343.46 us/op 342.27 us/op 1.00
setNodeAtDepth depth 1 x100000 8.3292 ms/op 10.169 ms/op 0.82
getNodesAtDepth depth 1 x100000 437.06 us/op 436.38 us/op 1.00
setNodesAtDepth depth 1 x100000 7.9120 ms/op 7.8089 ms/op 1.01
getNodeAtDepth depth 2 x100000 726.73 us/op 728.50 us/op 1.00
setNodeAtDepth depth 2 x100000 15.045 ms/op 17.777 ms/op 0.85
getNodesAtDepth depth 2 x100000 17.467 ms/op 20.588 ms/op 0.85
setNodesAtDepth depth 2 x100000 22.370 ms/op 28.309 ms/op 0.79
tree.getNodesAtDepth - gindexes 8.5070 ms/op 10.252 ms/op 0.83
tree.getNodesAtDepth - push all nodes 2.3105 ms/op 1.8987 ms/op 1.22
tree.getNodesAtDepth - navigation 312.14 us/op 311.30 us/op 1.00
tree.setNodesAtDepth - indexes 667.64 us/op 727.07 us/op 0.92
set at depth 8 794.00 ns/op 757.00 ns/op 1.05
set at depth 16 1.1950 us/op 1.1210 us/op 1.07
set at depth 32 1.9660 us/op 1.8990 us/op 1.04
iterateNodesAtDepth 8 256 14.305 us/op 14.261 us/op 1.00
getNodesAtDepth 8 256 3.8740 us/op 3.7610 us/op 1.03
iterateNodesAtDepth 16 65536 4.5492 ms/op 4.3942 ms/op 1.04
getNodesAtDepth 16 65536 1.8962 ms/op 1.6205 ms/op 1.17
iterateNodesAtDepth 32 250000 17.994 ms/op 15.984 ms/op 1.13
getNodesAtDepth 32 250000 4.7383 ms/op 4.5914 ms/op 1.03
iterateNodesAtDepth 40 250000 17.330 ms/op 15.942 ms/op 1.09
getNodesAtDepth 40 250000 5.1197 ms/op 4.5867 ms/op 1.12
250000 validators root getter 118.86 ms/op 116.14 ms/op 1.02
250000 validators batchHash() 91.868 ms/op 95.197 ms/op 0.97
250000 validators hashComputations 18.968 ms/op 16.010 ms/op 1.18
bitlist bytes to struct (120,90) 785.00 ns/op 950.00 ns/op 0.83
bitlist bytes to tree (120,90) 2.6460 us/op 3.6210 us/op 0.73
bitlist bytes to struct (2048,2048) 1.0070 us/op 1.3320 us/op 0.76
bitlist bytes to tree (2048,2048) 4.2420 us/op 4.8010 us/op 0.88
ByteListType - deserialize 7.1487 ms/op 8.7645 ms/op 0.82
BasicListType - deserialize 14.900 ms/op 17.540 ms/op 0.85
ByteListType - serialize 7.4670 ms/op 9.6217 ms/op 0.78
BasicListType - serialize 10.499 ms/op 11.496 ms/op 0.91
BasicListType - tree_convertToStruct 25.000 ms/op 30.705 ms/op 0.81
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.7469 ms/op 5.5087 ms/op 0.86
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.4449 ms/op 4.4321 ms/op 1.00
Array.push len 300000 empty Array - number 6.4474 ms/op 7.8960 ms/op 0.82
Array.set len 300000 from new Array - number 1.9800 ms/op 2.3369 ms/op 0.85
Array.set len 300000 - number 6.1369 ms/op 7.0620 ms/op 0.87
Uint8Array.set len 300000 488.81 us/op 511.43 us/op 0.96
Uint32Array.set len 300000 555.70 us/op 632.00 us/op 0.88
Container({a: uint8, b: uint8}) getViewDU x300000 25.513 ms/op 29.902 ms/op 0.85
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.453 ms/op 12.715 ms/op 0.82
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 212.66 ms/op 205.75 ms/op 1.03
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 258.73 ms/op 271.63 ms/op 0.95
List(Container) len 300000 ViewDU.get(i) 6.8279 ms/op 6.9907 ms/op 0.98
List(Container) len 300000 ViewDU.getReadonly(i) 6.5430 ms/op 7.1417 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 38.054 ms/op 40.540 ms/op 0.94
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.1268 ms/op 5.3250 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.7329 ms/op 6.4896 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.7068 ms/op 6.7025 ms/op 1.00
Array.push len 300000 empty Array - object 6.2925 ms/op 7.1021 ms/op 0.89
Array.set len 300000 from new Array - object 1.9572 ms/op 1.8184 ms/op 1.08
Array.set len 300000 - object 6.1563 ms/op 6.2025 ms/op 0.99
cachePermanentRootStruct no cache 5.3560 us/op 5.5290 us/op 0.97
cachePermanentRootStruct with cache 207.00 ns/op 222.00 ns/op 0.93
epochParticipation len 250000 rws 7813 2.3857 ms/op 2.3414 ms/op 1.02
BeaconState ViewDU hashTreeRoot() vc=200000 110.81 ms/op 117.55 ms/op 0.94
BeaconState ViewDU recursive hash - commit step vc=200000 4.7314 ms/op 4.4474 ms/op 1.06
BeaconState ViewDU validator tree creation vc=10000 40.098 ms/op 40.494 ms/op 0.99
BeaconState ViewDU batchHashTreeRoot vc=200000 100.92 ms/op 103.01 ms/op 0.98
BeaconState ViewDU hashTreeRoot - commit step vc=200000 89.506 ms/op 91.781 ms/op 0.98
BeaconState ViewDU hashTreeRoot - hash step vc=200000 15.965 ms/op 16.571 ms/op 0.96
deserialize Attestation - tree 3.8410 us/op 4.0260 us/op 0.95
deserialize Attestation - struct 1.8310 us/op 2.1360 us/op 0.86
deserialize SignedAggregateAndProof - tree 4.8880 us/op 5.3760 us/op 0.91
deserialize SignedAggregateAndProof - struct 3.1540 us/op 3.4800 us/op 0.91
deserialize SyncCommitteeMessage - tree 1.4830 us/op 1.5340 us/op 0.97
deserialize SyncCommitteeMessage - struct 1.1200 us/op 1.1140 us/op 1.01
deserialize SignedContributionAndProof - tree 3.3100 us/op 3.4100 us/op 0.97
deserialize SignedContributionAndProof - struct 2.7330 us/op 2.8730 us/op 0.95
deserialize SignedBeaconBlock - tree 300.09 us/op 349.79 us/op 0.86
deserialize SignedBeaconBlock - struct 119.58 us/op 155.60 us/op 0.77
BeaconState vc 300000 - deserialize tree 636.30 ms/op 643.25 ms/op 0.99
BeaconState vc 300000 - serialize tree 155.72 ms/op 153.26 ms/op 1.02
BeaconState.historicalRoots vc 300000 - deserialize tree 853.00 ns/op 974.00 ns/op 0.88
BeaconState.historicalRoots vc 300000 - serialize tree 657.00 ns/op 746.00 ns/op 0.88
BeaconState.validators vc 300000 - deserialize tree 602.61 ms/op 619.49 ms/op 0.97
BeaconState.validators vc 300000 - serialize tree 115.87 ms/op 113.48 ms/op 1.02
BeaconState.balances vc 300000 - deserialize tree 27.439 ms/op 26.252 ms/op 1.05
BeaconState.balances vc 300000 - serialize tree 4.7819 ms/op 5.7387 ms/op 0.83
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.1055 ms/op 1.3030 ms/op 0.85
BeaconState.previousEpochParticipation vc 300000 - serialize tree 351.42 us/op 350.06 us/op 1.00
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0881 ms/op 1.2916 ms/op 0.84
BeaconState.currentEpochParticipation vc 300000 - serialize tree 351.69 us/op 352.01 us/op 1.00
BeaconState.inactivityScores vc 300000 - deserialize tree 27.866 ms/op 30.224 ms/op 0.92
BeaconState.inactivityScores vc 300000 - serialize tree 3.7589 ms/op 5.5598 ms/op 0.68
hashTreeRoot Attestation - struct 18.766 us/op 19.435 us/op 0.97
hashTreeRoot Attestation - tree 9.1640 us/op 9.1670 us/op 1.00
hashTreeRoot SignedAggregateAndProof - struct 22.979 us/op 24.351 us/op 0.94
hashTreeRoot SignedAggregateAndProof - tree 13.742 us/op 13.702 us/op 1.00
hashTreeRoot SyncCommitteeMessage - struct 5.9570 us/op 6.2990 us/op 0.95
hashTreeRoot SyncCommitteeMessage - tree 3.7500 us/op 3.4680 us/op 1.08
hashTreeRoot SignedContributionAndProof - struct 16.100 us/op 14.662 us/op 1.10
hashTreeRoot SignedContributionAndProof - tree 9.4170 us/op 9.3490 us/op 1.01
hashTreeRoot SignedBeaconBlock - struct 1.2390 ms/op 1.3853 ms/op 0.89
hashTreeRoot SignedBeaconBlock - tree 808.89 us/op 813.77 us/op 0.99
hashTreeRoot Validator - struct 7.7130 us/op 8.6180 us/op 0.89
hashTreeRoot Validator - tree 6.9370 us/op 7.6850 us/op 0.90
BeaconState vc 300000 - hashTreeRoot tree 2.2402 s/op 2.2942 s/op 0.98
BeaconState vc 300000 - batchHashTreeRoot tree 4.1936 s/op 4.2271 s/op 0.99
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0130 us/op 1.0760 us/op 0.94
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4703 s/op 2.5725 s/op 0.96
BeaconState.balances vc 300000 - hashTreeRoot tree 35.348 ms/op 34.819 ms/op 1.02
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.3416 ms/op 4.3295 ms/op 1.00
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.3069 ms/op 4.3443 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 38.388 ms/op 48.951 ms/op 0.78
hash64 x18 8.9660 us/op 9.1610 us/op 0.98
hashTwoObjects x18 8.4700 us/op 8.2000 us/op 1.03
hash64 x1740 863.52 us/op 856.73 us/op 1.01
hashTwoObjects x1740 757.37 us/op 756.17 us/op 1.00
hash64 x2700000 1.2567 s/op 1.3250 s/op 0.95
hashTwoObjects x2700000 1.1737 s/op 1.1778 s/op 1.00
get_exitEpoch - ContainerType 230.00 ns/op 290.00 ns/op 0.79
get_exitEpoch - ContainerNodeStructType 237.00 ns/op 308.00 ns/op 0.77
set_exitEpoch - ContainerType 244.00 ns/op 321.00 ns/op 0.76
set_exitEpoch - ContainerNodeStructType 252.00 ns/op 310.00 ns/op 0.81
get_pubkey - ContainerType 992.00 ns/op 1.1560 us/op 0.86
get_pubkey - ContainerNodeStructType 225.00 ns/op 289.00 ns/op 0.78
hashTreeRoot - ContainerType 431.00 ns/op 476.00 ns/op 0.91
hashTreeRoot - ContainerNodeStructType 404.00 ns/op 479.00 ns/op 0.84
createProof - ContainerType 4.0270 us/op 4.7530 us/op 0.85
createProof - ContainerNodeStructType 21.830 us/op 25.772 us/op 0.85
serialize - ContainerType 1.8260 us/op 2.0280 us/op 0.90
serialize - ContainerNodeStructType 1.5100 us/op 1.6230 us/op 0.93
set_exitEpoch_and_hashTreeRoot - ContainerType 3.0350 us/op 2.9620 us/op 1.02
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.4930 us/op 8.3490 us/op 0.90
Array - for of 5.7550 us/op 5.6310 us/op 1.02
Array - for(;;) 5.6530 us/op 5.6040 us/op 1.01
basicListValue.readonlyValuesArray() 4.3288 ms/op 6.7179 ms/op 0.64
basicListValue.readonlyValuesArray() + loop all 4.4949 ms/op 6.6529 ms/op 0.68
compositeListValue.readonlyValuesArray() 31.657 ms/op 32.708 ms/op 0.97
compositeListValue.readonlyValuesArray() + loop all 33.329 ms/op 32.440 ms/op 1.03
Number64UintType - get balances list 4.4357 ms/op 5.1080 ms/op 0.87
Number64UintType - set balances list 10.006 ms/op 10.238 ms/op 0.98
Number64UintType - get and increase 10 then set 43.488 ms/op 44.801 ms/op 0.97
Number64UintType - increase 10 using applyDelta 17.773 ms/op 17.096 ms/op 1.04
Number64UintType - increase 10 using applyDeltaInBatch 17.637 ms/op 17.262 ms/op 1.02
tree_newTreeFromUint64Deltas 23.307 ms/op 22.418 ms/op 1.04
unsafeUint8ArrayToTree 40.386 ms/op 39.800 ms/op 1.01
bitLength(50) 280.00 ns/op 281.00 ns/op 1.00
bitLengthStr(50) 234.00 ns/op 258.00 ns/op 0.91
bitLength(8000) 253.00 ns/op 281.00 ns/op 0.90
bitLengthStr(8000) 283.00 ns/op 295.00 ns/op 0.96
bitLength(250000) 258.00 ns/op 275.00 ns/op 0.94
bitLengthStr(250000) 310.00 ns/op 342.00 ns/op 0.91
floor - Math.floor (53) 1.2431 ns/op 1.2437 ns/op 1.00
floor - << 0 (53) 1.2535 ns/op 1.2433 ns/op 1.01
floor - Math.floor (512) 1.2466 ns/op 1.2561 ns/op 0.99
floor - << 0 (512) 1.2438 ns/op 1.2457 ns/op 1.00
fnIf(0) 1.5536 ns/op 1.5537 ns/op 1.00
fnSwitch(0) 2.1803 ns/op 2.1760 ns/op 1.00
fnObj(0) 1.5615 ns/op 1.5712 ns/op 0.99
fnArr(0) 1.5537 ns/op 1.5839 ns/op 0.98
fnIf(4) 2.1764 ns/op 2.1749 ns/op 1.00
fnSwitch(4) 2.1776 ns/op 2.2232 ns/op 0.98
fnObj(4) 1.5588 ns/op 1.5584 ns/op 1.00
fnArr(4) 1.5741 ns/op 1.5557 ns/op 1.01
fnIf(9) 3.1657 ns/op 3.1077 ns/op 1.02
fnSwitch(9) 2.1818 ns/op 2.1775 ns/op 1.00
fnObj(9) 1.5718 ns/op 1.5571 ns/op 1.01
fnArr(9) 1.5560 ns/op 1.5546 ns/op 1.00
Container {a,b,vec} - as struct x100000 126.33 us/op 124.83 us/op 1.01
Container {a,b,vec} - as tree x100000 559.63 us/op 559.96 us/op 1.00
Container {a,vec,b} - as struct x100000 155.65 us/op 155.70 us/op 1.00
Container {a,vec,b} - as tree x100000 559.94 us/op 562.97 us/op 0.99
get 2 props x1000000 - rawObject 312.37 us/op 311.19 us/op 1.00
get 2 props x1000000 - proxy 73.117 ms/op 73.285 ms/op 1.00
get 2 props x1000000 - customObj 315.13 us/op 311.23 us/op 1.01
Simple object binary -> struct 579.00 ns/op 971.00 ns/op 0.60
Simple object binary -> tree_backed 1.6070 us/op 2.5810 us/op 0.62
Simple object struct -> tree_backed 2.1940 us/op 2.9600 us/op 0.74
Simple object tree_backed -> struct 1.5340 us/op 2.5750 us/op 0.60
Simple object struct -> binary 924.00 ns/op 1.2620 us/op 0.73
Simple object tree_backed -> binary 1.2750 us/op 1.8070 us/op 0.71
aggregationBits binary -> struct 469.00 ns/op 691.00 ns/op 0.68
aggregationBits binary -> tree_backed 2.0660 us/op 2.7360 us/op 0.76
aggregationBits struct -> tree_backed 2.4620 us/op 3.2010 us/op 0.77
aggregationBits tree_backed -> struct 951.00 ns/op 1.3050 us/op 0.73
aggregationBits struct -> binary 728.00 ns/op 846.00 ns/op 0.86
aggregationBits tree_backed -> binary 831.00 ns/op 1.0920 us/op 0.76
List(uint8) 100000 binary -> struct 1.7088 ms/op 1.5626 ms/op 1.09
List(uint8) 100000 binary -> tree_backed 279.12 us/op 342.33 us/op 0.82
List(uint8) 100000 struct -> tree_backed 1.4206 ms/op 1.5070 ms/op 0.94
List(uint8) 100000 tree_backed -> struct 1.2526 ms/op 1.1593 ms/op 1.08
List(uint8) 100000 struct -> binary 1.1099 ms/op 1.1048 ms/op 1.00
List(uint8) 100000 tree_backed -> binary 114.75 us/op 111.59 us/op 1.03
List(uint64Number) 100000 binary -> struct 1.3464 ms/op 1.4717 ms/op 0.91
List(uint64Number) 100000 binary -> tree_backed 4.8093 ms/op 4.8242 ms/op 1.00
List(uint64Number) 100000 struct -> tree_backed 6.4456 ms/op 6.8357 ms/op 0.94
List(uint64Number) 100000 tree_backed -> struct 2.4952 ms/op 2.6925 ms/op 0.93
List(uint64Number) 100000 struct -> binary 1.5772 ms/op 1.7770 ms/op 0.89
List(uint64Number) 100000 tree_backed -> binary 1.1770 ms/op 1.0367 ms/op 1.14
List(Uint64Bigint) 100000 binary -> struct 3.9973 ms/op 4.4369 ms/op 0.90
List(Uint64Bigint) 100000 binary -> tree_backed 5.3379 ms/op 4.8242 ms/op 1.11
List(Uint64Bigint) 100000 struct -> tree_backed 7.1251 ms/op 7.4759 ms/op 0.95
List(Uint64Bigint) 100000 tree_backed -> struct 5.2522 ms/op 6.0443 ms/op 0.87
List(Uint64Bigint) 100000 struct -> binary 2.1794 ms/op 2.0525 ms/op 1.06
List(Uint64Bigint) 100000 tree_backed -> binary 1.0511 ms/op 1.3171 ms/op 0.80
Vector(Root) 100000 binary -> struct 39.104 ms/op 37.525 ms/op 1.04
Vector(Root) 100000 binary -> tree_backed 36.963 ms/op 43.753 ms/op 0.84
Vector(Root) 100000 struct -> tree_backed 54.961 ms/op 54.355 ms/op 1.01
Vector(Root) 100000 tree_backed -> struct 56.086 ms/op 55.450 ms/op 1.01
Vector(Root) 100000 struct -> binary 2.7561 ms/op 2.7741 ms/op 0.99
Vector(Root) 100000 tree_backed -> binary 7.0426 ms/op 7.8633 ms/op 0.90
List(Validator) 100000 binary -> struct 107.96 ms/op 108.68 ms/op 0.99
List(Validator) 100000 binary -> tree_backed 345.89 ms/op 364.32 ms/op 0.95
List(Validator) 100000 struct -> tree_backed 392.15 ms/op 393.85 ms/op 1.00
List(Validator) 100000 tree_backed -> struct 218.35 ms/op 217.38 ms/op 1.00
List(Validator) 100000 struct -> binary 29.738 ms/op 29.427 ms/op 1.01
List(Validator) 100000 tree_backed -> binary 114.34 ms/op 108.97 ms/op 1.05
List(Validator-NS) 100000 binary -> struct 107.12 ms/op 106.10 ms/op 1.01
List(Validator-NS) 100000 binary -> tree_backed 165.30 ms/op 170.70 ms/op 0.97
List(Validator-NS) 100000 struct -> tree_backed 208.93 ms/op 213.45 ms/op 0.98
List(Validator-NS) 100000 tree_backed -> struct 173.60 ms/op 173.79 ms/op 1.00
List(Validator-NS) 100000 struct -> binary 29.316 ms/op 29.183 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> binary 36.516 ms/op 34.612 ms/op 1.06
get epochStatuses - MutableVector 92.666 us/op 96.513 us/op 0.96
get epochStatuses - ViewDU 209.98 us/op 209.69 us/op 1.00
set epochStatuses - ListTreeView 2.2105 ms/op 2.3830 ms/op 0.93
set epochStatuses - ListTreeView - set() 481.46 us/op 469.25 us/op 1.03
set epochStatuses - ListTreeView - commit() 802.74 us/op 771.41 us/op 1.04
bitstring 514.64 ns/op 516.18 ns/op 1.00
bit mask 13.961 ns/op 13.867 ns/op 1.01
struct - increase slot to 1000000 933.31 us/op 932.82 us/op 1.00
UintNumberType - increase slot to 1000000 28.373 ms/op 28.315 ms/op 1.00
UintBigintType - increase slot to 1000000 174.66 ms/op 189.00 ms/op 0.92
UintBigint8 x 100000 tree_deserialize 5.6267 ms/op 5.9788 ms/op 0.94
UintBigint8 x 100000 tree_serialize 1.1294 ms/op 1.1363 ms/op 0.99
UintBigint16 x 100000 tree_deserialize 5.3316 ms/op 5.7398 ms/op 0.93
UintBigint16 x 100000 tree_serialize 1.3871 ms/op 1.4342 ms/op 0.97
UintBigint32 x 100000 tree_deserialize 5.5152 ms/op 5.9949 ms/op 0.92
UintBigint32 x 100000 tree_serialize 1.7280 ms/op 2.0538 ms/op 0.84
UintBigint64 x 100000 tree_deserialize 5.9767 ms/op 6.4332 ms/op 0.93
UintBigint64 x 100000 tree_serialize 1.7398 ms/op 2.7095 ms/op 0.64
UintBigint8 x 100000 value_deserialize 435.57 us/op 435.66 us/op 1.00
UintBigint8 x 100000 value_serialize 765.13 us/op 789.08 us/op 0.97
UintBigint16 x 100000 value_deserialize 466.98 us/op 466.34 us/op 1.00
UintBigint16 x 100000 value_serialize 802.92 us/op 835.28 us/op 0.96
UintBigint32 x 100000 value_deserialize 498.82 us/op 498.61 us/op 1.00
UintBigint32 x 100000 value_serialize 851.09 us/op 891.38 us/op 0.95
UintBigint64 x 100000 value_deserialize 561.55 us/op 561.84 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0453 ms/op 1.1393 ms/op 0.92
UintBigint8 x 100000 deserialize 3.3972 ms/op 3.6813 ms/op 0.92
UintBigint8 x 100000 serialize 1.5378 ms/op 1.6543 ms/op 0.93
UintBigint16 x 100000 deserialize 3.6360 ms/op 3.6357 ms/op 1.00
UintBigint16 x 100000 serialize 1.5835 ms/op 1.6105 ms/op 0.98
UintBigint32 x 100000 deserialize 3.7035 ms/op 3.7056 ms/op 1.00
UintBigint32 x 100000 serialize 2.9548 ms/op 3.0437 ms/op 0.97
UintBigint64 x 100000 deserialize 4.6471 ms/op 4.4508 ms/op 1.04
UintBigint64 x 100000 serialize 1.6718 ms/op 1.6507 ms/op 1.01
UintBigint128 x 100000 deserialize 6.3250 ms/op 6.0635 ms/op 1.04
UintBigint128 x 100000 serialize 15.403 ms/op 15.758 ms/op 0.98
UintBigint256 x 100000 deserialize 9.2806 ms/op 9.2778 ms/op 1.00
UintBigint256 x 100000 serialize 42.855 ms/op 44.933 ms/op 0.95
Slice from Uint8Array x25000 1.3213 ms/op 1.4481 ms/op 0.91
Slice from ArrayBuffer x25000 16.402 ms/op 17.102 ms/op 0.96
Slice from ArrayBuffer x25000 + new Uint8Array 17.426 ms/op 19.117 ms/op 0.91
Copy Uint8Array 100000 iterate 2.6460 ms/op 2.7322 ms/op 0.97
Copy Uint8Array 100000 slice 104.61 us/op 110.38 us/op 0.95
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 103.58 us/op 110.44 us/op 0.94
Copy Buffer 100000 Uint8Array.prototype.slice.call 100.75 us/op 110.75 us/op 0.91
Copy Uint8Array 100000 slice + set 206.20 us/op 227.15 us/op 0.91
Copy Uint8Array 100000 subarray + set 101.04 us/op 111.15 us/op 0.91
Copy Uint8Array 100000 slice arrayBuffer 110.39 us/op 112.86 us/op 0.98
Uint64 deserialize 100000 - iterate Uint8Array 2.0946 ms/op 2.0828 ms/op 1.01
Uint64 deserialize 100000 - by Uint32A 2.0068 ms/op 2.1744 ms/op 0.92
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0325 ms/op 2.1471 ms/op 0.95
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0045 ms/op 5.1354 ms/op 0.97
Uint64 deserialize 100000 - by byte 41.097 ms/op 40.857 ms/op 1.01

by benchmarkbot/action

@nflaig
Copy link
Member

nflaig commented Jan 30, 2025

should we merge this after the npm token is updated?

@wemeetagain
Copy link
Member Author

should we merge this after the npm token is updated?

I added this commit, which brings it back closer to how it was before yarn 2/3, will see how it goes

@wemeetagain wemeetagain merged commit d8f567f into master Jan 30, 2025
9 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master branch January 30, 2025 21:59
@wemeetagain
Copy link
Member Author

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

@wemeetagain
Copy link
Member Author

well... it failed, just added this 5041139

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