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

Merged
merged 1 commit into from
Jan 20, 2025
Merged

Conversation

wemeetagain
Copy link
Member

🤖 I have created a release beep boop

as-sha256: 0.6.2

0.6.2 (2025-01-20)

Bug Fixes

  • as-sha256: empty commit to trigger release (#449) (2fa4a06)
  • persistent-merkle-tree: empty commit to trigger release (#451) (e9bfcc0)
  • persistent-ts: empty commit to trigger release (#450) (e439fc5)
  • ssz: empty commit to trigger release (#452) (06280ba)
persistent-merkle-tree: 0.9.2

0.9.2 (2025-01-20)

Bug Fixes

  • as-sha256: empty commit to trigger release (#449) (2fa4a06)
  • persistent-merkle-tree: empty commit to trigger release (#451) (e9bfcc0)
  • persistent-ts: empty commit to trigger release (#450) (e439fc5)
  • ssz: empty commit to trigger release (#452) (06280ba)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 0.6.1 to 0.6.2
persistent-ts: 0.19.3

0.19.3 (2025-01-20)

Bug Fixes

  • as-sha256: empty commit to trigger release (#449) (2fa4a06)
  • persistent-merkle-tree: empty commit to trigger release (#451) (e9bfcc0)
  • persistent-ts: empty commit to trigger release (#450) (e439fc5)
  • ssz: empty commit to trigger release (#452) (06280ba)
ssz: 0.19.2

0.19.2 (2025-01-20)

Bug Fixes

  • as-sha256: empty commit to trigger release (#449) (2fa4a06)
  • persistent-merkle-tree: empty commit to trigger release (#451) (e9bfcc0)
  • persistent-ts: empty commit to trigger release (#450) (e439fc5)
  • ssz: empty commit to trigger release (#452) (06280ba)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped from 0.6.1 to 0.6.2
      • @chainsafe/persistent-merkle-tree bumped from 0.9.1 to 0.9.2

This PR was generated with Release Please. See documentation.

Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 2baecc9 Previous: d5f77f5 Ratio
digestTwoHashObjects 50023 times 48.464 ms/op 48.369 ms/op 1.00
digest2Bytes32 50023 times 55.461 ms/op 55.196 ms/op 1.00
digest 50023 times 53.724 ms/op 54.832 ms/op 0.98
input length 32 1.2070 us/op 1.2190 us/op 0.99
input length 64 1.3550 us/op 1.3660 us/op 0.99
input length 128 2.3260 us/op 2.3020 us/op 1.01
input length 256 3.4130 us/op 3.4700 us/op 0.98
input length 512 5.6030 us/op 5.7190 us/op 0.98
input length 1024 10.786 us/op 10.862 us/op 0.99
digest 1000000 times 854.32 ms/op 898.02 ms/op 0.95
hashObjectToByteArray 50023 times 1.2294 ms/op 1.2289 ms/op 1.00
byteArrayToHashObject 50023 times 1.7219 ms/op 1.6879 ms/op 1.02
digest64 200092 times 215.99 ms/op 216.55 ms/op 1.00
hash 200092 times using batchHash4UintArray64s 242.76 ms/op 243.05 ms/op 1.00
digest64HashObjects 200092 times 192.42 ms/op 192.50 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 198.02 ms/op 198.23 ms/op 1.00
getGindicesAtDepth 3.6640 us/op 3.6840 us/op 0.99
iterateAtDepth 6.7240 us/op 6.7580 us/op 0.99
getGindexBits 433.00 ns/op 433.00 ns/op 1.00
gindexIterator 917.00 ns/op 939.00 ns/op 0.98
HashComputationLevel.push then loop 30.116 ms/op 31.846 ms/op 0.95
HashComputation[] push then loop 49.188 ms/op 52.911 ms/op 0.93
hash 2 Uint8Array 500000 times - hashtree 223.16 ms/op 222.36 ms/op 1.00
hashTwoObjects 500000 times - hashtree 217.33 ms/op 210.61 ms/op 1.03
executeHashComputations - hashtree 10.396 ms/op 10.713 ms/op 0.97
hash 2 Uint8Array 500000 times - as-sha256 560.34 ms/op 568.44 ms/op 0.99
hashTwoObjects 500000 times - as-sha256 508.36 ms/op 511.47 ms/op 0.99
executeHashComputations - as-sha256 46.852 ms/op 49.144 ms/op 0.95
hash 2 Uint8Array 500000 times - noble 1.2617 s/op 1.3580 s/op 0.93
hashTwoObjects 500000 times - noble 1.7316 s/op 1.9710 s/op 0.88
executeHashComputations - noble 36.855 ms/op 37.604 ms/op 0.98
getHashComputations 2.3470 ms/op 2.4494 ms/op 0.96
executeHashComputations 10.473 ms/op 10.814 ms/op 0.97
get root 15.677 ms/op 15.787 ms/op 0.99
getNodeH() x7812.5 avg hindex 12.242 us/op 12.324 us/op 0.99
getNodeH() x7812.5 index 0 7.6490 us/op 7.5890 us/op 1.01
getNodeH() x7812.5 index 7 7.5550 us/op 7.6370 us/op 0.99
getNodeH() x7812.5 index 7 with key array 6.3360 us/op 6.3500 us/op 1.00
new LeafNode() x7812.5 329.86 us/op 511.99 us/op 0.64
getHashComputations 250000 nodes 14.946 ms/op 15.624 ms/op 0.96
batchHash 250000 nodes 88.884 ms/op 93.154 ms/op 0.95
get root 250000 nodes 116.83 ms/op 118.44 ms/op 0.99
getHashComputations 500000 nodes 29.135 ms/op 42.883 ms/op 0.68
batchHash 500000 nodes 160.58 ms/op 179.10 ms/op 0.90
get root 500000 nodes 239.76 ms/op 236.65 ms/op 1.01
getHashComputations 1000000 nodes 68.529 ms/op 88.192 ms/op 0.78
batchHash 1000000 nodes 393.25 ms/op 367.92 ms/op 1.07
get root 1000000 nodes 468.09 ms/op 473.69 ms/op 0.99
multiproof - depth 15, 1 requested leaves 10.393 us/op 9.2070 us/op 1.13
tree offset multiproof - depth 15, 1 requested leaves 22.141 us/op 19.764 us/op 1.12
compact multiproof - depth 15, 1 requested leaves 4.5300 us/op 3.7150 us/op 1.22
multiproof - depth 15, 2 requested leaves 15.260 us/op 13.274 us/op 1.15
tree offset multiproof - depth 15, 2 requested leaves 26.791 us/op 23.554 us/op 1.14
compact multiproof - depth 15, 2 requested leaves 4.5880 us/op 3.4670 us/op 1.32
multiproof - depth 15, 3 requested leaves 20.520 us/op 18.150 us/op 1.13
tree offset multiproof - depth 15, 3 requested leaves 34.911 us/op 30.527 us/op 1.14
compact multiproof - depth 15, 3 requested leaves 6.4020 us/op 5.1330 us/op 1.25
multiproof - depth 15, 4 requested leaves 26.731 us/op 24.198 us/op 1.10
tree offset multiproof - depth 15, 4 requested leaves 41.680 us/op 36.393 us/op 1.15
compact multiproof - depth 15, 4 requested leaves 7.5880 us/op 5.4300 us/op 1.40
packedRootsBytesToLeafNodes bytes 4000 offset 0 8.3450 us/op 6.3090 us/op 1.32
packedRootsBytesToLeafNodes bytes 4000 offset 1 8.2050 us/op 6.7210 us/op 1.22
packedRootsBytesToLeafNodes bytes 4000 offset 2 8.2070 us/op 6.1920 us/op 1.33
packedRootsBytesToLeafNodes bytes 4000 offset 3 8.2580 us/op 6.2670 us/op 1.32
subtreeFillToContents depth 40 count 250000 42.108 ms/op 46.351 ms/op 0.91
setRoot - gindexBitstring 26.429 ms/op 27.546 ms/op 0.96
setRoot - gindex 27.672 ms/op 26.315 ms/op 1.05
getRoot - gindexBitstring 2.8192 ms/op 2.9648 ms/op 0.95
getRoot - gindex 3.3954 ms/op 3.7068 ms/op 0.92
getHashObject then setHashObject 27.195 ms/op 27.261 ms/op 1.00
setNodeWithFn 25.163 ms/op 24.583 ms/op 1.02
getNodeAtDepth depth 0 x100000 280.03 us/op 280.43 us/op 1.00
setNodeAtDepth depth 0 x100000 3.5120 ms/op 3.1948 ms/op 1.10
getNodesAtDepth depth 0 x100000 312.10 us/op 313.10 us/op 1.00
setNodesAtDepth depth 0 x100000 772.60 us/op 819.48 us/op 0.94
getNodeAtDepth depth 1 x100000 345.24 us/op 344.49 us/op 1.00
setNodeAtDepth depth 1 x100000 10.853 ms/op 10.128 ms/op 1.07
getNodesAtDepth depth 1 x100000 436.21 us/op 435.97 us/op 1.00
setNodesAtDepth depth 1 x100000 8.9744 ms/op 8.7739 ms/op 1.02
getNodeAtDepth depth 2 x100000 775.50 us/op 799.47 us/op 0.97
setNodeAtDepth depth 2 x100000 20.767 ms/op 20.738 ms/op 1.00
getNodesAtDepth depth 2 x100000 20.548 ms/op 21.308 ms/op 0.96
setNodesAtDepth depth 2 x100000 27.281 ms/op 27.477 ms/op 0.99
tree.getNodesAtDepth - gindexes 11.234 ms/op 11.024 ms/op 1.02
tree.getNodesAtDepth - push all nodes 2.2719 ms/op 3.7039 ms/op 0.61
tree.getNodesAtDepth - navigation 317.91 us/op 311.80 us/op 1.02
tree.setNodesAtDepth - indexes 880.81 us/op 900.04 us/op 0.98
set at depth 8 963.00 ns/op 978.00 ns/op 0.98
set at depth 16 1.4460 us/op 1.3510 us/op 1.07
set at depth 32 2.5200 us/op 2.5310 us/op 1.00
iterateNodesAtDepth 8 256 15.895 us/op 16.650 us/op 0.95
getNodesAtDepth 8 256 4.0120 us/op 4.2600 us/op 0.94
iterateNodesAtDepth 16 65536 4.6818 ms/op 5.0635 ms/op 0.92
getNodesAtDepth 16 65536 2.1508 ms/op 2.4978 ms/op 0.86
iterateNodesAtDepth 32 250000 16.829 ms/op 17.732 ms/op 0.95
getNodesAtDepth 32 250000 6.8677 ms/op 5.9239 ms/op 1.16
iterateNodesAtDepth 40 250000 17.562 ms/op 17.702 ms/op 0.99
getNodesAtDepth 40 250000 7.0886 ms/op 6.9046 ms/op 1.03
250000 validators root getter 119.39 ms/op 119.71 ms/op 1.00
250000 validators batchHash() 145.30 ms/op 108.22 ms/op 1.34
250000 validators hashComputations 22.324 ms/op 19.595 ms/op 1.14
bitlist bytes to struct (120,90) 797.00 ns/op 823.00 ns/op 0.97
bitlist bytes to tree (120,90) 3.1410 us/op 2.7190 us/op 1.16
bitlist bytes to struct (2048,2048) 1.2130 us/op 1.1550 us/op 1.05
bitlist bytes to tree (2048,2048) 5.1240 us/op 4.5130 us/op 1.14
ByteListType - deserialize 11.627 ms/op 10.165 ms/op 1.14
BasicListType - deserialize 14.550 ms/op 18.026 ms/op 0.81
ByteListType - serialize 10.805 ms/op 10.288 ms/op 1.05
BasicListType - serialize 14.191 ms/op 12.581 ms/op 1.13
BasicListType - tree_convertToStruct 24.633 ms/op 25.699 ms/op 0.96
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 6.4504 ms/op 5.6968 ms/op 1.13
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.4986 ms/op 4.2598 ms/op 1.06
Array.push len 300000 empty Array - number 7.1156 ms/op 7.1633 ms/op 0.99
Array.set len 300000 from new Array - number 2.0782 ms/op 2.4033 ms/op 0.86
Array.set len 300000 - number 6.5185 ms/op 6.9237 ms/op 0.94
Uint8Array.set len 300000 493.06 us/op 503.66 us/op 0.98
Uint32Array.set len 300000 569.48 us/op 612.39 us/op 0.93
Container({a: uint8, b: uint8}) getViewDU x300000 27.348 ms/op 30.132 ms/op 0.91
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.668 ms/op 11.879 ms/op 0.98
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 227.87 ms/op 216.41 ms/op 1.05
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 303.13 ms/op 293.14 ms/op 1.03
List(Container) len 300000 ViewDU.get(i) 8.7599 ms/op 8.3642 ms/op 1.05
List(Container) len 300000 ViewDU.getReadonly(i) 7.1035 ms/op 7.5189 ms/op 0.94
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 37.269 ms/op 39.025 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.6958 ms/op 6.1252 ms/op 0.93
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.4468 ms/op 7.0952 ms/op 0.91
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 17.486 ms/op 6.8990 ms/op 2.53
Array.push len 300000 empty Array - object 8.0532 ms/op 6.9775 ms/op 1.15
Array.set len 300000 from new Array - object 2.3175 ms/op 2.2866 ms/op 1.01
Array.set len 300000 - object 6.5379 ms/op 6.6679 ms/op 0.98
cachePermanentRootStruct no cache 5.4340 us/op 5.8020 us/op 0.94
cachePermanentRootStruct with cache 220.00 ns/op 274.00 ns/op 0.80
epochParticipation len 250000 rws 7813 2.4436 ms/op 2.4856 ms/op 0.98
BeaconState ViewDU hashTreeRoot() vc=200000 117.62 ms/op 119.00 ms/op 0.99
BeaconState ViewDU recursive hash - commit step vc=200000 5.1767 ms/op 5.6809 ms/op 0.91
BeaconState ViewDU validator tree creation vc=10000 41.423 ms/op 42.719 ms/op 0.97
BeaconState ViewDU batchHashTreeRoot vc=200000 106.50 ms/op 111.90 ms/op 0.95
BeaconState ViewDU hashTreeRoot - commit step vc=200000 93.277 ms/op 98.427 ms/op 0.95
BeaconState ViewDU hashTreeRoot - hash step vc=200000 18.069 ms/op 19.131 ms/op 0.94
deserialize Attestation - tree 3.6220 us/op 4.2110 us/op 0.86
deserialize Attestation - struct 1.9670 us/op 2.4200 us/op 0.81
deserialize SignedAggregateAndProof - tree 5.1210 us/op 6.3450 us/op 0.81
deserialize SignedAggregateAndProof - struct 3.3890 us/op 4.0440 us/op 0.84
deserialize SyncCommitteeMessage - tree 1.5230 us/op 1.6480 us/op 0.92
deserialize SyncCommitteeMessage - struct 1.2060 us/op 1.1880 us/op 1.02
deserialize SignedContributionAndProof - tree 3.0450 us/op 3.7220 us/op 0.82
deserialize SignedContributionAndProof - struct 2.6080 us/op 3.1050 us/op 0.84
deserialize SignedBeaconBlock - tree 310.62 us/op 355.16 us/op 0.87
deserialize SignedBeaconBlock - struct 131.13 us/op 164.48 us/op 0.80
BeaconState vc 300000 - deserialize tree 646.99 ms/op 705.19 ms/op 0.92
BeaconState vc 300000 - serialize tree 181.13 ms/op 175.11 ms/op 1.03
BeaconState.historicalRoots vc 300000 - deserialize tree 885.00 ns/op 970.00 ns/op 0.91
BeaconState.historicalRoots vc 300000 - serialize tree 722.00 ns/op 820.00 ns/op 0.88
BeaconState.validators vc 300000 - deserialize tree 611.66 ms/op 650.52 ms/op 0.94
BeaconState.validators vc 300000 - serialize tree 112.39 ms/op 125.57 ms/op 0.90
BeaconState.balances vc 300000 - deserialize tree 25.939 ms/op 29.612 ms/op 0.88
BeaconState.balances vc 300000 - serialize tree 4.6849 ms/op 6.5585 ms/op 0.71
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.2000 ms/op 1.3116 ms/op 0.91
BeaconState.previousEpochParticipation vc 300000 - serialize tree 343.81 us/op 360.82 us/op 0.95
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.2619 ms/op 1.3322 ms/op 0.95
BeaconState.currentEpochParticipation vc 300000 - serialize tree 344.79 us/op 356.02 us/op 0.97
BeaconState.inactivityScores vc 300000 - deserialize tree 27.728 ms/op 30.103 ms/op 0.92
BeaconState.inactivityScores vc 300000 - serialize tree 4.4735 ms/op 5.8042 ms/op 0.77
hashTreeRoot Attestation - struct 22.553 us/op 19.803 us/op 1.14
hashTreeRoot Attestation - tree 9.4400 us/op 9.5720 us/op 0.99
hashTreeRoot SignedAggregateAndProof - struct 25.937 us/op 25.707 us/op 1.01
hashTreeRoot SignedAggregateAndProof - tree 14.195 us/op 14.541 us/op 0.98
hashTreeRoot SyncCommitteeMessage - struct 6.7610 us/op 6.7550 us/op 1.00
hashTreeRoot SyncCommitteeMessage - tree 3.7960 us/op 4.4100 us/op 0.86
hashTreeRoot SignedContributionAndProof - struct 18.158 us/op 17.620 us/op 1.03
hashTreeRoot SignedContributionAndProof - tree 9.7520 us/op 9.9850 us/op 0.98
hashTreeRoot SignedBeaconBlock - struct 1.2602 ms/op 1.4659 ms/op 0.86
hashTreeRoot SignedBeaconBlock - tree 846.34 us/op 878.36 us/op 0.96
hashTreeRoot Validator - struct 8.3380 us/op 8.6630 us/op 0.96
hashTreeRoot Validator - tree 7.2500 us/op 7.7380 us/op 0.94
BeaconState vc 300000 - hashTreeRoot tree 2.3852 s/op 2.4219 s/op 0.98
BeaconState vc 300000 - batchHashTreeRoot tree 4.3148 s/op 4.6211 s/op 0.93
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.2060 us/op 1.1890 us/op 1.01
BeaconState.validators vc 300000 - hashTreeRoot tree 2.5832 s/op 2.6902 s/op 0.96
BeaconState.balances vc 300000 - hashTreeRoot tree 38.380 ms/op 40.485 ms/op 0.95
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.5056 ms/op 4.5189 ms/op 1.00
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.4779 ms/op 4.5215 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 37.565 ms/op 38.969 ms/op 0.96
hash64 x18 9.2450 us/op 9.5180 us/op 0.97
hashTwoObjects x18 8.5400 us/op 8.6770 us/op 0.98
hash64 x1740 833.15 us/op 884.88 us/op 0.94
hashTwoObjects x1740 789.74 us/op 808.62 us/op 0.98
hash64 x2700000 1.2756 s/op 1.3650 s/op 0.93
hashTwoObjects x2700000 1.2284 s/op 1.2480 s/op 0.98
get_exitEpoch - ContainerType 238.00 ns/op 339.00 ns/op 0.70
get_exitEpoch - ContainerNodeStructType 234.00 ns/op 343.00 ns/op 0.68
set_exitEpoch - ContainerType 267.00 ns/op 366.00 ns/op 0.73
set_exitEpoch - ContainerNodeStructType 236.00 ns/op 362.00 ns/op 0.65
get_pubkey - ContainerType 982.00 ns/op 1.3650 us/op 0.72
get_pubkey - ContainerNodeStructType 249.00 ns/op 346.00 ns/op 0.72
hashTreeRoot - ContainerType 537.00 ns/op 612.00 ns/op 0.88
hashTreeRoot - ContainerNodeStructType 497.00 ns/op 572.00 ns/op 0.87
createProof - ContainerType 4.2400 us/op 5.5900 us/op 0.76
createProof - ContainerNodeStructType 21.866 us/op 27.889 us/op 0.78
serialize - ContainerType 1.7170 us/op 2.0490 us/op 0.84
serialize - ContainerNodeStructType 1.4960 us/op 1.8070 us/op 0.83
set_exitEpoch_and_hashTreeRoot - ContainerType 2.8870 us/op 3.2620 us/op 0.89
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.9410 us/op 8.7910 us/op 0.90
Array - for of 6.0870 us/op 9.0240 us/op 0.67
Array - for(;;) 5.9210 us/op 9.4010 us/op 0.63
basicListValue.readonlyValuesArray() 6.5083 ms/op 7.9026 ms/op 0.82
basicListValue.readonlyValuesArray() + loop all 7.9105 ms/op 8.2711 ms/op 0.96
compositeListValue.readonlyValuesArray() 32.992 ms/op 33.520 ms/op 0.98
compositeListValue.readonlyValuesArray() + loop all 31.983 ms/op 33.575 ms/op 0.95
Number64UintType - get balances list 5.6143 ms/op 5.0248 ms/op 1.12
Number64UintType - set balances list 9.8452 ms/op 10.647 ms/op 0.92
Number64UintType - get and increase 10 then set 47.072 ms/op 42.899 ms/op 1.10
Number64UintType - increase 10 using applyDelta 18.258 ms/op 18.016 ms/op 1.01
Number64UintType - increase 10 using applyDeltaInBatch 17.541 ms/op 18.337 ms/op 0.96
tree_newTreeFromUint64Deltas 20.555 ms/op 24.325 ms/op 0.85
unsafeUint8ArrayToTree 43.268 ms/op 45.571 ms/op 0.95
bitLength(50) 287.00 ns/op 299.00 ns/op 0.96
bitLengthStr(50) 266.00 ns/op 263.00 ns/op 1.01
bitLength(8000) 295.00 ns/op 291.00 ns/op 1.01
bitLengthStr(8000) 313.00 ns/op 288.00 ns/op 1.09
bitLength(250000) 275.00 ns/op 290.00 ns/op 0.95
bitLengthStr(250000) 333.00 ns/op 334.00 ns/op 1.00
floor - Math.floor (53) 1.2435 ns/op 1.2437 ns/op 1.00
floor - << 0 (53) 1.2484 ns/op 1.2462 ns/op 1.00
floor - Math.floor (512) 1.2433 ns/op 1.2444 ns/op 1.00
floor - << 0 (512) 1.2434 ns/op 1.2431 ns/op 1.00
fnIf(0) 1.5561 ns/op 1.5749 ns/op 0.99
fnSwitch(0) 2.1750 ns/op 2.1772 ns/op 1.00
fnObj(0) 1.5654 ns/op 1.5587 ns/op 1.00
fnArr(0) 1.5560 ns/op 1.5551 ns/op 1.00
fnIf(4) 2.1833 ns/op 2.1756 ns/op 1.00
fnSwitch(4) 2.1843 ns/op 2.1820 ns/op 1.00
fnObj(4) 1.5542 ns/op 1.5845 ns/op 0.98
fnArr(4) 1.5608 ns/op 1.5542 ns/op 1.00
fnIf(9) 3.1181 ns/op 3.1195 ns/op 1.00
fnSwitch(9) 2.1757 ns/op 2.1758 ns/op 1.00
fnObj(9) 1.5592 ns/op 1.5606 ns/op 1.00
fnArr(9) 1.5539 ns/op 1.5550 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.57 us/op 124.60 us/op 1.00
Container {a,b,vec} - as tree x100000 529.11 us/op 528.98 us/op 1.00
Container {a,vec,b} - as struct x100000 155.57 us/op 155.57 us/op 1.00
Container {a,vec,b} - as tree x100000 497.62 us/op 497.48 us/op 1.00
get 2 props x1000000 - rawObject 315.07 us/op 311.47 us/op 1.01
get 2 props x1000000 - proxy 73.096 ms/op 73.062 ms/op 1.00
get 2 props x1000000 - customObj 311.45 us/op 313.95 us/op 0.99
Simple object binary -> struct 667.00 ns/op 1.0090 us/op 0.66
Simple object binary -> tree_backed 1.8380 us/op 2.6650 us/op 0.69
Simple object struct -> tree_backed 2.6320 us/op 3.1000 us/op 0.85
Simple object tree_backed -> struct 1.9660 us/op 2.7210 us/op 0.72
Simple object struct -> binary 1.1850 us/op 1.3340 us/op 0.89
Simple object tree_backed -> binary 1.7140 us/op 1.9600 us/op 0.87
aggregationBits binary -> struct 630.00 ns/op 854.00 ns/op 0.74
aggregationBits binary -> tree_backed 2.7300 us/op 3.8600 us/op 0.71
aggregationBits struct -> tree_backed 3.0540 us/op 4.5540 us/op 0.67
aggregationBits tree_backed -> struct 1.2040 us/op 1.7380 us/op 0.69
aggregationBits struct -> binary 990.00 ns/op 930.00 ns/op 1.06
aggregationBits tree_backed -> binary 1.1490 us/op 1.2060 us/op 0.95
List(uint8) 100000 binary -> struct 2.3090 ms/op 2.0686 ms/op 1.12
List(uint8) 100000 binary -> tree_backed 388.49 us/op 342.63 us/op 1.13
List(uint8) 100000 struct -> tree_backed 1.5018 ms/op 1.4780 ms/op 1.02
List(uint8) 100000 tree_backed -> struct 1.2048 ms/op 1.2465 ms/op 0.97
List(uint8) 100000 struct -> binary 1.1320 ms/op 1.1223 ms/op 1.01
List(uint8) 100000 tree_backed -> binary 115.68 us/op 110.49 us/op 1.05
List(uint64Number) 100000 binary -> struct 1.4431 ms/op 1.5494 ms/op 0.93
List(uint64Number) 100000 binary -> tree_backed 4.7228 ms/op 4.9826 ms/op 0.95
List(uint64Number) 100000 struct -> tree_backed 6.4648 ms/op 7.2084 ms/op 0.90
List(uint64Number) 100000 tree_backed -> struct 2.5562 ms/op 2.9391 ms/op 0.87
List(uint64Number) 100000 struct -> binary 1.7724 ms/op 1.8169 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 1.0363 ms/op 1.0245 ms/op 1.01
List(Uint64Bigint) 100000 binary -> struct 4.2142 ms/op 4.2695 ms/op 0.99
List(Uint64Bigint) 100000 binary -> tree_backed 6.0848 ms/op 5.5953 ms/op 1.09
List(Uint64Bigint) 100000 struct -> tree_backed 7.4757 ms/op 7.5561 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> struct 5.8317 ms/op 6.4285 ms/op 0.91
List(Uint64Bigint) 100000 struct -> binary 2.1002 ms/op 2.1144 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> binary 2.1758 ms/op 1.6183 ms/op 1.34
Vector(Root) 100000 binary -> struct 40.152 ms/op 38.395 ms/op 1.05
Vector(Root) 100000 binary -> tree_backed 47.184 ms/op 42.091 ms/op 1.12
Vector(Root) 100000 struct -> tree_backed 56.447 ms/op 59.286 ms/op 0.95
Vector(Root) 100000 tree_backed -> struct 56.422 ms/op 60.646 ms/op 0.93
Vector(Root) 100000 struct -> binary 3.0080 ms/op 2.8264 ms/op 1.06
Vector(Root) 100000 tree_backed -> binary 8.0692 ms/op 7.3762 ms/op 1.09
List(Validator) 100000 binary -> struct 107.64 ms/op 114.28 ms/op 0.94
List(Validator) 100000 binary -> tree_backed 381.80 ms/op 398.04 ms/op 0.96
List(Validator) 100000 struct -> tree_backed 406.19 ms/op 416.02 ms/op 0.98
List(Validator) 100000 tree_backed -> struct 225.25 ms/op 234.24 ms/op 0.96
List(Validator) 100000 struct -> binary 29.204 ms/op 30.158 ms/op 0.97
List(Validator) 100000 tree_backed -> binary 110.46 ms/op 116.39 ms/op 0.95
List(Validator-NS) 100000 binary -> struct 110.13 ms/op 114.08 ms/op 0.97
List(Validator-NS) 100000 binary -> tree_backed 148.64 ms/op 176.29 ms/op 0.84
List(Validator-NS) 100000 struct -> tree_backed 218.96 ms/op 221.05 ms/op 0.99
List(Validator-NS) 100000 tree_backed -> struct 173.98 ms/op 179.44 ms/op 0.97
List(Validator-NS) 100000 struct -> binary 29.482 ms/op 29.949 ms/op 0.98
List(Validator-NS) 100000 tree_backed -> binary 34.686 ms/op 35.637 ms/op 0.97
get epochStatuses - MutableVector 116.39 us/op 96.779 us/op 1.20
get epochStatuses - ViewDU 203.93 us/op 205.85 us/op 0.99
set epochStatuses - ListTreeView 2.2268 ms/op 2.2542 ms/op 0.99
set epochStatuses - ListTreeView - set() 459.53 us/op 440.41 us/op 1.04
set epochStatuses - ListTreeView - commit() 839.29 us/op 816.03 us/op 1.03
bitstring 516.52 ns/op 522.69 ns/op 0.99
bit mask 13.258 ns/op 13.508 ns/op 0.98
struct - increase slot to 1000000 932.37 us/op 937.49 us/op 0.99
UintNumberType - increase slot to 1000000 27.408 ms/op 26.769 ms/op 1.02
UintBigintType - increase slot to 1000000 205.00 ms/op 209.43 ms/op 0.98
UintBigint8 x 100000 tree_deserialize 6.5255 ms/op 6.2121 ms/op 1.05
UintBigint8 x 100000 tree_serialize 1.0959 ms/op 1.1060 ms/op 0.99
UintBigint16 x 100000 tree_deserialize 5.9126 ms/op 5.9680 ms/op 0.99
UintBigint16 x 100000 tree_serialize 1.5428 ms/op 1.5671 ms/op 0.98
UintBigint32 x 100000 tree_deserialize 5.8315 ms/op 6.2152 ms/op 0.94
UintBigint32 x 100000 tree_serialize 1.9819 ms/op 2.0135 ms/op 0.98
UintBigint64 x 100000 tree_deserialize 6.5409 ms/op 8.2943 ms/op 0.79
UintBigint64 x 100000 tree_serialize 2.7569 ms/op 3.1525 ms/op 0.87
UintBigint8 x 100000 value_deserialize 436.49 us/op 439.90 us/op 0.99
UintBigint8 x 100000 value_serialize 820.09 us/op 985.03 us/op 0.83
UintBigint16 x 100000 value_deserialize 466.49 us/op 466.56 us/op 1.00
UintBigint16 x 100000 value_serialize 881.36 us/op 928.91 us/op 0.95
UintBigint32 x 100000 value_deserialize 498.39 us/op 498.16 us/op 1.00
UintBigint32 x 100000 value_serialize 924.75 us/op 1.1745 ms/op 0.79
UintBigint64 x 100000 value_deserialize 562.05 us/op 561.77 us/op 1.00
UintBigint64 x 100000 value_serialize 1.3371 ms/op 1.6313 ms/op 0.82
UintBigint8 x 100000 deserialize 3.5437 ms/op 3.8476 ms/op 0.92
UintBigint8 x 100000 serialize 1.8785 ms/op 1.6596 ms/op 1.13
UintBigint16 x 100000 deserialize 3.6711 ms/op 4.1541 ms/op 0.88
UintBigint16 x 100000 serialize 1.5274 ms/op 1.6302 ms/op 0.94
UintBigint32 x 100000 deserialize 3.9228 ms/op 4.1836 ms/op 0.94
UintBigint32 x 100000 serialize 3.1176 ms/op 3.1301 ms/op 1.00
UintBigint64 x 100000 deserialize 4.4441 ms/op 4.9793 ms/op 0.89
UintBigint64 x 100000 serialize 1.6577 ms/op 1.6484 ms/op 1.01
UintBigint128 x 100000 deserialize 6.6766 ms/op 6.0969 ms/op 1.10
UintBigint128 x 100000 serialize 15.050 ms/op 16.122 ms/op 0.93
UintBigint256 x 100000 deserialize 8.6737 ms/op 9.4280 ms/op 0.92
UintBigint256 x 100000 serialize 43.655 ms/op 46.548 ms/op 0.94
Slice from Uint8Array x25000 1.3980 ms/op 1.5594 ms/op 0.90
Slice from ArrayBuffer x25000 17.065 ms/op 16.928 ms/op 1.01
Slice from ArrayBuffer x25000 + new Uint8Array 18.603 ms/op 19.356 ms/op 0.96
Copy Uint8Array 100000 iterate 2.7034 ms/op 2.6810 ms/op 1.01
Copy Uint8Array 100000 slice 122.09 us/op 146.67 us/op 0.83
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 117.41 us/op 148.21 us/op 0.79
Copy Buffer 100000 Uint8Array.prototype.slice.call 120.28 us/op 148.06 us/op 0.81
Copy Uint8Array 100000 slice + set 229.11 us/op 297.05 us/op 0.77
Copy Uint8Array 100000 subarray + set 123.46 us/op 147.08 us/op 0.84
Copy Uint8Array 100000 slice arrayBuffer 119.65 us/op 148.83 us/op 0.80
Uint64 deserialize 100000 - iterate Uint8Array 2.1280 ms/op 2.2593 ms/op 0.94
Uint64 deserialize 100000 - by Uint32A 2.0007 ms/op 2.1176 ms/op 0.94
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.0417 ms/op 2.2177 ms/op 0.92
Uint64 deserialize 100000 - by DataView.getBigUint64 5.5205 ms/op 5.4989 ms/op 1.00
Uint64 deserialize 100000 - by byte 41.037 ms/op 40.851 ms/op 1.00

by benchmarkbot/action

@matthewkeil matthewkeil merged commit c901b17 into master Jan 20, 2025
8 checks passed
@matthewkeil matthewkeil deleted the release-please--branches--master branch January 20, 2025 11:56
@wemeetagain
Copy link
Member Author

@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-v0.19.2 🌻

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