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

Merged
merged 1 commit into from
Jan 23, 2025
Merged

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Jan 23, 2025

πŸ€– I have created a release beep boop

as-sha256: 1.0.0

1.0.0 (2025-01-23)

⚠ BREAKING CHANGES

  • remove support for CJS (#440)

Features

persistent-merkle-tree: 1.0.0

1.0.0 (2025-01-23)

⚠ BREAKING CHANGES

  • use named exports to expose different hashers (#459)
  • remove support for CJS (#440)

Features

Dependencies

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

1.0.0 (2025-01-23)

⚠ BREAKING CHANGES

  • remove support for CJS (#440)

Features

ssz: 1.0.0

1.0.0 (2025-01-23)

⚠ BREAKING CHANGES

  • remove support for CJS (#440)

Features

Dependencies

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

This PR was generated with Release Please. See documentation.

Copy link

github-actions bot commented Jan 23, 2025

Performance Report

βœ”οΈ no performance regression detected

Full benchmark results
Benchmark suite Current: 1eefe39 Previous: 57d14f1 Ratio
digestTwoHashObjects 50023 times 48.419 ms/op 48.521 ms/op 1.00
digest2Bytes32 50023 times 54.903 ms/op 55.185 ms/op 0.99
digest 50023 times 54.006 ms/op 54.084 ms/op 1.00
input length 32 1.2240 us/op 1.1910 us/op 1.03
input length 64 1.3210 us/op 1.3300 us/op 0.99
input length 128 2.2860 us/op 2.2930 us/op 1.00
input length 256 3.3740 us/op 3.4140 us/op 0.99
input length 512 5.5720 us/op 5.5700 us/op 1.00
input length 1024 10.700 us/op 10.709 us/op 1.00
digest 1000000 times 860.21 ms/op 852.85 ms/op 1.01
hashObjectToByteArray 50023 times 1.2291 ms/op 1.2292 ms/op 1.00
byteArrayToHashObject 50023 times 1.5466 ms/op 1.6441 ms/op 0.94
digest64 200092 times 214.42 ms/op 215.65 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 238.89 ms/op 243.87 ms/op 0.98
digest64HashObjects 200092 times 193.23 ms/op 192.96 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 209.51 ms/op 197.55 ms/op 1.06
getGindicesAtDepth 3.5520 us/op 3.6570 us/op 0.97
iterateAtDepth 6.3920 us/op 6.6500 us/op 0.96
getGindexBits 395.00 ns/op 407.00 ns/op 0.97
gindexIterator 841.00 ns/op 930.00 ns/op 0.90
HashComputationLevel.push then loop 25.230 ms/op 29.625 ms/op 0.85
HashComputation[] push then loop 48.406 ms/op 49.932 ms/op 0.97
hash 2 Uint8Array 500000 times - hashtree 216.70 ms/op 221.23 ms/op 0.98
hashTwoObjects 500000 times - hashtree 219.71 ms/op 209.62 ms/op 1.05
executeHashComputations - hashtree 9.4703 ms/op 10.652 ms/op 0.89
hash 2 Uint8Array 500000 times - as-sha256 554.03 ms/op 563.43 ms/op 0.98
hashTwoObjects 500000 times - as-sha256 506.43 ms/op 508.88 ms/op 1.00
executeHashComputations - as-sha256 45.297 ms/op 49.971 ms/op 0.91
hash 2 Uint8Array 500000 times - noble 1.2690 s/op 1.3034 s/op 0.97
hashTwoObjects 500000 times - noble 1.7273 s/op 1.7540 s/op 0.98
executeHashComputations - noble 36.623 ms/op 36.758 ms/op 1.00
getHashComputations 2.1322 ms/op 3.0349 ms/op 0.70
executeHashComputations 9.7762 ms/op 10.284 ms/op 0.95
get root 15.203 ms/op 15.838 ms/op 0.96
getNodeH() x7812.5 avg hindex 12.043 us/op 12.224 us/op 0.99
getNodeH() x7812.5 index 0 7.5810 us/op 7.4860 us/op 1.01
getNodeH() x7812.5 index 7 7.6170 us/op 7.5500 us/op 1.01
getNodeH() x7812.5 index 7 with key array 6.3360 us/op 6.3500 us/op 1.00
new LeafNode() x7812.5 321.32 us/op 295.18 us/op 1.09
getHashComputations 250000 nodes 14.649 ms/op 15.390 ms/op 0.95
batchHash 250000 nodes 99.814 ms/op 86.066 ms/op 1.16
get root 250000 nodes 116.10 ms/op 119.71 ms/op 0.97
getHashComputations 500000 nodes 29.264 ms/op 32.664 ms/op 0.90
batchHash 500000 nodes 156.32 ms/op 160.29 ms/op 0.98
get root 500000 nodes 230.26 ms/op 244.90 ms/op 0.94
getHashComputations 1000000 nodes 75.987 ms/op 57.621 ms/op 1.32
batchHash 1000000 nodes 341.62 ms/op 378.43 ms/op 0.90
get root 1000000 nodes 460.69 ms/op 477.06 ms/op 0.97
multiproof - depth 15, 1 requested leaves 9.0730 us/op 8.8530 us/op 1.02
tree offset multiproof - depth 15, 1 requested leaves 18.966 us/op 18.529 us/op 1.02
compact multiproof - depth 15, 1 requested leaves 3.3030 us/op 3.2940 us/op 1.00
multiproof - depth 15, 2 requested leaves 12.807 us/op 12.150 us/op 1.05
tree offset multiproof - depth 15, 2 requested leaves 22.294 us/op 22.318 us/op 1.00
compact multiproof - depth 15, 2 requested leaves 3.2590 us/op 3.3190 us/op 0.98
multiproof - depth 15, 3 requested leaves 16.438 us/op 17.280 us/op 0.95
tree offset multiproof - depth 15, 3 requested leaves 30.109 us/op 29.614 us/op 1.02
compact multiproof - depth 15, 3 requested leaves 4.3630 us/op 4.2390 us/op 1.03
multiproof - depth 15, 4 requested leaves 24.502 us/op 23.182 us/op 1.06
tree offset multiproof - depth 15, 4 requested leaves 36.457 us/op 36.574 us/op 1.00
compact multiproof - depth 15, 4 requested leaves 5.2080 us/op 5.6530 us/op 0.92
packedRootsBytesToLeafNodes bytes 4000 offset 0 6.1520 us/op 6.0850 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 1 6.2820 us/op 5.9930 us/op 1.05
packedRootsBytesToLeafNodes bytes 4000 offset 2 6.1910 us/op 5.9010 us/op 1.05
packedRootsBytesToLeafNodes bytes 4000 offset 3 6.1050 us/op 6.4090 us/op 0.95
subtreeFillToContents depth 40 count 250000 48.834 ms/op 53.795 ms/op 0.91
setRoot - gindexBitstring 21.403 ms/op 20.658 ms/op 1.04
setRoot - gindex 21.969 ms/op 22.019 ms/op 1.00
getRoot - gindexBitstring 2.6981 ms/op 2.7935 ms/op 0.97
getRoot - gindex 3.5371 ms/op 3.4956 ms/op 1.01
getHashObject then setHashObject 27.868 ms/op 23.455 ms/op 1.19
setNodeWithFn 20.823 ms/op 20.854 ms/op 1.00
getNodeAtDepth depth 0 x100000 280.02 us/op 281.01 us/op 1.00
setNodeAtDepth depth 0 x100000 2.5974 ms/op 2.5815 ms/op 1.01
getNodesAtDepth depth 0 x100000 318.60 us/op 312.41 us/op 1.02
setNodesAtDepth depth 0 x100000 761.55 us/op 806.35 us/op 0.94
getNodeAtDepth depth 1 x100000 342.27 us/op 343.28 us/op 1.00
setNodeAtDepth depth 1 x100000 8.5366 ms/op 8.3432 ms/op 1.02
getNodesAtDepth depth 1 x100000 435.87 us/op 437.86 us/op 1.00
setNodesAtDepth depth 1 x100000 10.045 ms/op 7.8232 ms/op 1.28
getNodeAtDepth depth 2 x100000 788.57 us/op 793.02 us/op 0.99
setNodeAtDepth depth 2 x100000 17.377 ms/op 16.111 ms/op 1.08
getNodesAtDepth depth 2 x100000 19.450 ms/op 18.539 ms/op 1.05
setNodesAtDepth depth 2 x100000 25.848 ms/op 22.819 ms/op 1.13
tree.getNodesAtDepth - gindexes 9.3385 ms/op 9.4509 ms/op 0.99
tree.getNodesAtDepth - push all nodes 2.2651 ms/op 2.1590 ms/op 1.05
tree.getNodesAtDepth - navigation 311.31 us/op 311.43 us/op 1.00
tree.setNodesAtDepth - indexes 790.67 us/op 687.15 us/op 1.15
set at depth 8 860.00 ns/op 651.00 ns/op 1.32
set at depth 16 1.2570 us/op 1.2000 us/op 1.05
set at depth 32 2.0780 us/op 2.1260 us/op 0.98
iterateNodesAtDepth 8 256 14.409 us/op 14.678 us/op 0.98
getNodesAtDepth 8 256 4.0960 us/op 4.0660 us/op 1.01
iterateNodesAtDepth 16 65536 4.9922 ms/op 4.8383 ms/op 1.03
getNodesAtDepth 16 65536 2.2848 ms/op 1.8661 ms/op 1.22
iterateNodesAtDepth 32 250000 18.717 ms/op 16.781 ms/op 1.12
getNodesAtDepth 32 250000 5.1313 ms/op 4.8251 ms/op 1.06
iterateNodesAtDepth 40 250000 16.407 ms/op 16.876 ms/op 0.97
getNodesAtDepth 40 250000 4.7443 ms/op 5.0913 ms/op 0.93
250000 validators root getter 117.43 ms/op 122.19 ms/op 0.96
250000 validators batchHash() 96.654 ms/op 106.13 ms/op 0.91
250000 validators hashComputations 15.723 ms/op 19.060 ms/op 0.82
bitlist bytes to struct (120,90) 918.00 ns/op 635.00 ns/op 1.45
bitlist bytes to tree (120,90) 2.9300 us/op 2.3370 us/op 1.25
bitlist bytes to struct (2048,2048) 1.1080 us/op 1.0110 us/op 1.10
bitlist bytes to tree (2048,2048) 4.5660 us/op 3.8380 us/op 1.19
ByteListType - deserialize 8.3208 ms/op 7.9551 ms/op 1.05
BasicListType - deserialize 16.968 ms/op 13.052 ms/op 1.30
ByteListType - serialize 8.1590 ms/op 7.5126 ms/op 1.09
BasicListType - serialize 11.003 ms/op 9.8223 ms/op 1.12
BasicListType - tree_convertToStruct 29.593 ms/op 24.764 ms/op 1.20
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.3310 ms/op 4.7180 ms/op 1.13
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.4073 ms/op 4.3910 ms/op 1.00
Array.push len 300000 empty Array - number 7.8225 ms/op 6.8431 ms/op 1.14
Array.set len 300000 from new Array - number 2.3507 ms/op 1.7018 ms/op 1.38
Array.set len 300000 - number 7.3339 ms/op 6.2775 ms/op 1.17
Uint8Array.set len 300000 490.49 us/op 490.83 us/op 1.00
Uint32Array.set len 300000 559.44 us/op 567.03 us/op 0.99
Container({a: uint8, b: uint8}) getViewDU x300000 25.353 ms/op 25.288 ms/op 1.00
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.598 ms/op 10.787 ms/op 0.98
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 214.68 ms/op 220.12 ms/op 0.98
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 271.67 ms/op 259.62 ms/op 1.05
List(Container) len 300000 ViewDU.get(i) 6.9583 ms/op 6.8335 ms/op 1.02
List(Container) len 300000 ViewDU.getReadonly(i) 6.8006 ms/op 6.8080 ms/op 1.00
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 34.965 ms/op 40.838 ms/op 0.86
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 6.2965 ms/op 5.4335 ms/op 1.16
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.1755 ms/op 6.4074 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.0141 ms/op 6.2967 ms/op 0.96
Array.push len 300000 empty Array - object 7.1694 ms/op 6.5533 ms/op 1.09
Array.set len 300000 from new Array - object 1.8632 ms/op 1.9200 ms/op 0.97
Array.set len 300000 - object 6.0572 ms/op 6.3578 ms/op 0.95
cachePermanentRootStruct no cache 5.2100 us/op 5.3860 us/op 0.97
cachePermanentRootStruct with cache 211.00 ns/op 197.00 ns/op 1.07
epochParticipation len 250000 rws 7813 2.4415 ms/op 2.3831 ms/op 1.02
BeaconState ViewDU hashTreeRoot() vc=200000 112.45 ms/op 113.30 ms/op 0.99
BeaconState ViewDU recursive hash - commit step vc=200000 4.6893 ms/op 4.9716 ms/op 0.94
BeaconState ViewDU validator tree creation vc=10000 40.383 ms/op 41.297 ms/op 0.98
BeaconState ViewDU batchHashTreeRoot vc=200000 104.52 ms/op 104.05 ms/op 1.00
BeaconState ViewDU hashTreeRoot - commit step vc=200000 92.678 ms/op 91.124 ms/op 1.02
BeaconState ViewDU hashTreeRoot - hash step vc=200000 18.227 ms/op 16.853 ms/op 1.08
deserialize Attestation - tree 3.7240 us/op 3.8530 us/op 0.97
deserialize Attestation - struct 1.9820 us/op 1.9780 us/op 1.00
deserialize SignedAggregateAndProof - tree 5.2940 us/op 5.2470 us/op 1.01
deserialize SignedAggregateAndProof - struct 3.2370 us/op 3.2720 us/op 0.99
deserialize SyncCommitteeMessage - tree 1.5070 us/op 1.4610 us/op 1.03
deserialize SyncCommitteeMessage - struct 997.00 ns/op 1.1320 us/op 0.88
deserialize SignedContributionAndProof - tree 3.1240 us/op 3.0930 us/op 1.01
deserialize SignedContributionAndProof - struct 2.6030 us/op 2.5320 us/op 1.03
deserialize SignedBeaconBlock - tree 345.91 us/op 311.82 us/op 1.11
deserialize SignedBeaconBlock - struct 151.99 us/op 121.20 us/op 1.25
BeaconState vc 300000 - deserialize tree 643.25 ms/op 666.94 ms/op 0.96
BeaconState vc 300000 - serialize tree 138.70 ms/op 161.90 ms/op 0.86
BeaconState.historicalRoots vc 300000 - deserialize tree 895.00 ns/op 903.00 ns/op 0.99
BeaconState.historicalRoots vc 300000 - serialize tree 710.00 ns/op 683.00 ns/op 1.04
BeaconState.validators vc 300000 - deserialize tree 629.90 ms/op 623.16 ms/op 1.01
BeaconState.validators vc 300000 - serialize tree 112.29 ms/op 118.76 ms/op 0.95
BeaconState.balances vc 300000 - deserialize tree 27.264 ms/op 29.791 ms/op 0.92
BeaconState.balances vc 300000 - serialize tree 4.2624 ms/op 4.3706 ms/op 0.98
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.0563 ms/op 1.0120 ms/op 1.04
BeaconState.previousEpochParticipation vc 300000 - serialize tree 332.82 us/op 341.65 us/op 0.97
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0391 ms/op 1.0210 ms/op 1.02
BeaconState.currentEpochParticipation vc 300000 - serialize tree 335.51 us/op 334.12 us/op 1.00
BeaconState.inactivityScores vc 300000 - deserialize tree 21.924 ms/op 28.536 ms/op 0.77
BeaconState.inactivityScores vc 300000 - serialize tree 4.4872 ms/op 4.2868 ms/op 1.05
hashTreeRoot Attestation - struct 24.152 us/op 21.532 us/op 1.12
hashTreeRoot Attestation - tree 9.2730 us/op 9.0680 us/op 1.02
hashTreeRoot SignedAggregateAndProof - struct 27.974 us/op 25.320 us/op 1.10
hashTreeRoot SignedAggregateAndProof - tree 13.763 us/op 13.522 us/op 1.02
hashTreeRoot SyncCommitteeMessage - struct 7.4230 us/op 6.5310 us/op 1.14
hashTreeRoot SyncCommitteeMessage - tree 3.9120 us/op 3.3260 us/op 1.18
hashTreeRoot SignedContributionAndProof - struct 15.560 us/op 15.067 us/op 1.03
hashTreeRoot SignedContributionAndProof - tree 9.4100 us/op 9.2970 us/op 1.01
hashTreeRoot SignedBeaconBlock - struct 1.3601 ms/op 1.3389 ms/op 1.02
hashTreeRoot SignedBeaconBlock - tree 824.40 us/op 818.92 us/op 1.01
hashTreeRoot Validator - struct 8.4500 us/op 8.9390 us/op 0.95
hashTreeRoot Validator - tree 7.3220 us/op 7.3920 us/op 0.99
BeaconState vc 300000 - hashTreeRoot tree 2.2990 s/op 2.3011 s/op 1.00
BeaconState vc 300000 - batchHashTreeRoot tree 4.2680 s/op 4.3260 s/op 0.99
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0800 us/op 1.0760 us/op 1.00
BeaconState.validators vc 300000 - hashTreeRoot tree 2.5079 s/op 2.4971 s/op 1.00
BeaconState.balances vc 300000 - hashTreeRoot tree 39.869 ms/op 34.428 ms/op 1.16
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.5546 ms/op 4.2555 ms/op 1.07
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.3103 ms/op 4.2528 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 34.877 ms/op 34.605 ms/op 1.01
hash64 x18 8.9690 us/op 9.3170 us/op 0.96
hashTwoObjects x18 8.2400 us/op 8.2840 us/op 0.99
hash64 x1740 815.87 us/op 826.96 us/op 0.99
hashTwoObjects x1740 756.34 us/op 766.61 us/op 0.99
hash64 x2700000 1.2600 s/op 1.3140 s/op 0.96
hashTwoObjects x2700000 1.1705 s/op 1.1909 s/op 0.98
get_exitEpoch - ContainerType 261.00 ns/op 269.00 ns/op 0.97
get_exitEpoch - ContainerNodeStructType 244.00 ns/op 261.00 ns/op 0.93
set_exitEpoch - ContainerType 271.00 ns/op 295.00 ns/op 0.92
set_exitEpoch - ContainerNodeStructType 282.00 ns/op 291.00 ns/op 0.97
get_pubkey - ContainerType 1.0190 us/op 1.1020 us/op 0.92
get_pubkey - ContainerNodeStructType 288.00 ns/op 286.00 ns/op 1.01
hashTreeRoot - ContainerType 461.00 ns/op 484.00 ns/op 0.95
hashTreeRoot - ContainerNodeStructType 493.00 ns/op 476.00 ns/op 1.04
createProof - ContainerType 4.3910 us/op 4.5090 us/op 0.97
createProof - ContainerNodeStructType 23.308 us/op 25.012 us/op 0.93
serialize - ContainerType 1.8200 us/op 1.8710 us/op 0.97
serialize - ContainerNodeStructType 1.6370 us/op 1.6080 us/op 1.02
set_exitEpoch_and_hashTreeRoot - ContainerType 3.0820 us/op 3.0570 us/op 1.01
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 8.0510 us/op 7.5140 us/op 1.07
Array - for of 5.6210 us/op 9.1940 us/op 0.61
Array - for(;;) 5.6230 us/op 9.2850 us/op 0.61
basicListValue.readonlyValuesArray() 5.1748 ms/op 4.4008 ms/op 1.18
basicListValue.readonlyValuesArray() + loop all 5.5472 ms/op 4.3755 ms/op 1.27
compositeListValue.readonlyValuesArray() 34.422 ms/op 28.347 ms/op 1.21
compositeListValue.readonlyValuesArray() + loop all 31.531 ms/op 34.890 ms/op 0.90
Number64UintType - get balances list 4.7888 ms/op 4.6044 ms/op 1.04
Number64UintType - set balances list 10.034 ms/op 10.025 ms/op 1.00
Number64UintType - get and increase 10 then set 41.079 ms/op 37.795 ms/op 1.09
Number64UintType - increase 10 using applyDelta 17.242 ms/op 16.600 ms/op 1.04
Number64UintType - increase 10 using applyDeltaInBatch 16.789 ms/op 17.186 ms/op 0.98
tree_newTreeFromUint64Deltas 22.953 ms/op 23.569 ms/op 0.97
unsafeUint8ArrayToTree 38.734 ms/op 38.770 ms/op 1.00
bitLength(50) 272.00 ns/op 261.00 ns/op 1.04
bitLengthStr(50) 242.00 ns/op 231.00 ns/op 1.05
bitLength(8000) 279.00 ns/op 245.00 ns/op 1.14
bitLengthStr(8000) 272.00 ns/op 269.00 ns/op 1.01
bitLength(250000) 251.00 ns/op 243.00 ns/op 1.03
bitLengthStr(250000) 311.00 ns/op 306.00 ns/op 1.02
floor - Math.floor (53) 1.2470 ns/op 1.2443 ns/op 1.00
floor - << 0 (53) 1.2432 ns/op 1.2475 ns/op 1.00
floor - Math.floor (512) 1.2441 ns/op 1.2439 ns/op 1.00
floor - << 0 (512) 1.2449 ns/op 1.2432 ns/op 1.00
fnIf(0) 1.5573 ns/op 1.5567 ns/op 1.00
fnSwitch(0) 2.1759 ns/op 2.1762 ns/op 1.00
fnObj(0) 1.5630 ns/op 1.5562 ns/op 1.00
fnArr(0) 1.5611 ns/op 1.5559 ns/op 1.00
fnIf(4) 2.1754 ns/op 2.1775 ns/op 1.00
fnSwitch(4) 2.1748 ns/op 2.1776 ns/op 1.00
fnObj(4) 1.5668 ns/op 1.5562 ns/op 1.01
fnArr(4) 1.5725 ns/op 1.5606 ns/op 1.01
fnIf(9) 3.1067 ns/op 3.1078 ns/op 1.00
fnSwitch(9) 2.1801 ns/op 2.1783 ns/op 1.00
fnObj(9) 1.5573 ns/op 1.5611 ns/op 1.00
fnArr(9) 1.5592 ns/op 1.5714 ns/op 0.99
Container {a,b,vec} - as struct x100000 124.74 us/op 124.67 us/op 1.00
Container {a,b,vec} - as tree x100000 559.79 us/op 557.72 us/op 1.00
Container {a,vec,b} - as struct x100000 155.83 us/op 155.71 us/op 1.00
Container {a,vec,b} - as tree x100000 568.97 us/op 560.02 us/op 1.02
get 2 props x1000000 - rawObject 311.07 us/op 311.18 us/op 1.00
get 2 props x1000000 - proxy 73.682 ms/op 73.162 ms/op 1.01
get 2 props x1000000 - customObj 314.20 us/op 311.27 us/op 1.01
Simple object binary -> struct 999.00 ns/op 642.00 ns/op 1.56
Simple object binary -> tree_backed 2.6420 us/op 1.7780 us/op 1.49
Simple object struct -> tree_backed 2.9550 us/op 2.3820 us/op 1.24
Simple object tree_backed -> struct 2.6550 us/op 1.6200 us/op 1.64
Simple object struct -> binary 1.2880 us/op 837.00 ns/op 1.54
Simple object tree_backed -> binary 1.7710 us/op 1.4900 us/op 1.19
aggregationBits binary -> struct 677.00 ns/op 530.00 ns/op 1.28
aggregationBits binary -> tree_backed 2.8560 us/op 2.2780 us/op 1.25
aggregationBits struct -> tree_backed 3.2550 us/op 2.5990 us/op 1.25
aggregationBits tree_backed -> struct 1.3230 us/op 1.0030 us/op 1.32
aggregationBits struct -> binary 844.00 ns/op 776.00 ns/op 1.09
aggregationBits tree_backed -> binary 1.1380 us/op 980.00 ns/op 1.16
List(uint8) 100000 binary -> struct 1.7909 ms/op 1.5366 ms/op 1.17
List(uint8) 100000 binary -> tree_backed 280.89 us/op 291.24 us/op 0.96
List(uint8) 100000 struct -> tree_backed 1.4593 ms/op 1.4608 ms/op 1.00
List(uint8) 100000 tree_backed -> struct 1.2409 ms/op 1.0990 ms/op 1.13
List(uint8) 100000 struct -> binary 1.1127 ms/op 1.1702 ms/op 0.95
List(uint8) 100000 tree_backed -> binary 110.50 us/op 114.06 us/op 0.97
List(uint64Number) 100000 binary -> struct 1.4085 ms/op 1.5652 ms/op 0.90
List(uint64Number) 100000 binary -> tree_backed 4.7559 ms/op 4.6090 ms/op 1.03
List(uint64Number) 100000 struct -> tree_backed 6.5501 ms/op 6.6197 ms/op 0.99
List(uint64Number) 100000 tree_backed -> struct 2.6404 ms/op 2.5057 ms/op 1.05
List(uint64Number) 100000 struct -> binary 1.7528 ms/op 1.6518 ms/op 1.06
List(uint64Number) 100000 tree_backed -> binary 1.1968 ms/op 1.0866 ms/op 1.10
List(Uint64Bigint) 100000 binary -> struct 4.1393 ms/op 3.8641 ms/op 1.07
List(Uint64Bigint) 100000 binary -> tree_backed 4.7999 ms/op 5.5463 ms/op 0.87
List(Uint64Bigint) 100000 struct -> tree_backed 7.4096 ms/op 8.2198 ms/op 0.90
List(Uint64Bigint) 100000 tree_backed -> struct 6.3177 ms/op 5.2672 ms/op 1.20
List(Uint64Bigint) 100000 struct -> binary 2.0638 ms/op 2.0968 ms/op 0.98
List(Uint64Bigint) 100000 tree_backed -> binary 1.1911 ms/op 1.2536 ms/op 0.95
Vector(Root) 100000 binary -> struct 37.438 ms/op 39.444 ms/op 0.95
Vector(Root) 100000 binary -> tree_backed 37.693 ms/op 39.439 ms/op 0.96
Vector(Root) 100000 struct -> tree_backed 55.424 ms/op 61.120 ms/op 0.91
Vector(Root) 100000 tree_backed -> struct 58.905 ms/op 57.831 ms/op 1.02
Vector(Root) 100000 struct -> binary 2.7115 ms/op 2.9499 ms/op 0.92
Vector(Root) 100000 tree_backed -> binary 7.0098 ms/op 7.0903 ms/op 0.99
List(Validator) 100000 binary -> struct 124.33 ms/op 108.56 ms/op 1.15
List(Validator) 100000 binary -> tree_backed 369.25 ms/op 381.83 ms/op 0.97
List(Validator) 100000 struct -> tree_backed 399.45 ms/op 401.79 ms/op 0.99
List(Validator) 100000 tree_backed -> struct 219.90 ms/op 230.86 ms/op 0.95
List(Validator) 100000 struct -> binary 29.063 ms/op 30.426 ms/op 0.96
List(Validator) 100000 tree_backed -> binary 109.37 ms/op 114.42 ms/op 0.96
List(Validator-NS) 100000 binary -> struct 113.28 ms/op 108.92 ms/op 1.04
List(Validator-NS) 100000 binary -> tree_backed 171.46 ms/op 170.42 ms/op 1.01
List(Validator-NS) 100000 struct -> tree_backed 220.59 ms/op 214.30 ms/op 1.03
List(Validator-NS) 100000 tree_backed -> struct 178.40 ms/op 176.76 ms/op 1.01
List(Validator-NS) 100000 struct -> binary 28.827 ms/op 30.655 ms/op 0.94
List(Validator-NS) 100000 tree_backed -> binary 35.297 ms/op 35.022 ms/op 1.01
get epochStatuses - MutableVector 95.294 us/op 97.382 us/op 0.98
get epochStatuses - ViewDU 213.29 us/op 210.00 us/op 1.02
set epochStatuses - ListTreeView 2.1179 ms/op 2.1986 ms/op 0.96
set epochStatuses - ListTreeView - set() 447.92 us/op 464.98 us/op 0.96
set epochStatuses - ListTreeView - commit() 772.13 us/op 759.65 us/op 1.02
bitstring 513.58 ns/op 516.03 ns/op 1.00
bit mask 13.056 ns/op 14.172 ns/op 0.92
struct - increase slot to 1000000 945.94 us/op 933.20 us/op 1.01
UintNumberType - increase slot to 1000000 27.771 ms/op 28.393 ms/op 0.98
UintBigintType - increase slot to 1000000 184.13 ms/op 169.12 ms/op 1.09
UintBigint8 x 100000 tree_deserialize 4.8189 ms/op 5.6750 ms/op 0.85
UintBigint8 x 100000 tree_serialize 1.1422 ms/op 1.1283 ms/op 1.01
UintBigint16 x 100000 tree_deserialize 5.0225 ms/op 5.2996 ms/op 0.95
UintBigint16 x 100000 tree_serialize 1.3745 ms/op 1.3781 ms/op 1.00
UintBigint32 x 100000 tree_deserialize 5.5972 ms/op 5.6575 ms/op 0.99
UintBigint32 x 100000 tree_serialize 1.7162 ms/op 1.8863 ms/op 0.91
UintBigint64 x 100000 tree_deserialize 6.2376 ms/op 6.0404 ms/op 1.03
UintBigint64 x 100000 tree_serialize 1.7085 ms/op 2.4839 ms/op 0.69
UintBigint8 x 100000 value_deserialize 435.37 us/op 435.33 us/op 1.00
UintBigint8 x 100000 value_serialize 782.07 us/op 766.67 us/op 1.02
UintBigint16 x 100000 value_deserialize 466.57 us/op 466.41 us/op 1.00
UintBigint16 x 100000 value_serialize 798.69 us/op 814.31 us/op 0.98
UintBigint32 x 100000 value_deserialize 497.77 us/op 538.28 us/op 0.92
UintBigint32 x 100000 value_serialize 847.29 us/op 859.70 us/op 0.99
UintBigint64 x 100000 value_deserialize 561.95 us/op 561.85 us/op 1.00
UintBigint64 x 100000 value_serialize 1.0480 ms/op 1.0530 ms/op 1.00
UintBigint8 x 100000 deserialize 3.3426 ms/op 3.5718 ms/op 0.94
UintBigint8 x 100000 serialize 1.5702 ms/op 1.5303 ms/op 1.03
UintBigint16 x 100000 deserialize 3.5908 ms/op 3.4844 ms/op 1.03
UintBigint16 x 100000 serialize 1.5205 ms/op 1.5868 ms/op 0.96
UintBigint32 x 100000 deserialize 3.5620 ms/op 3.5451 ms/op 1.00
UintBigint32 x 100000 serialize 2.9141 ms/op 3.0305 ms/op 0.96
UintBigint64 x 100000 deserialize 4.3820 ms/op 4.5631 ms/op 0.96
UintBigint64 x 100000 serialize 1.6819 ms/op 1.6792 ms/op 1.00
UintBigint128 x 100000 deserialize 5.8898 ms/op 6.0995 ms/op 0.97
UintBigint128 x 100000 serialize 15.437 ms/op 15.204 ms/op 1.02
UintBigint256 x 100000 deserialize 9.3264 ms/op 9.2083 ms/op 1.01
UintBigint256 x 100000 serialize 44.366 ms/op 45.142 ms/op 0.98
Slice from Uint8Array x25000 1.3897 ms/op 1.4333 ms/op 0.97
Slice from ArrayBuffer x25000 16.846 ms/op 16.923 ms/op 1.00
Slice from ArrayBuffer x25000 + new Uint8Array 17.989 ms/op 18.261 ms/op 0.99
Copy Uint8Array 100000 iterate 2.7370 ms/op 2.6457 ms/op 1.03
Copy Uint8Array 100000 slice 87.133 us/op 100.75 us/op 0.86
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 90.947 us/op 99.794 us/op 0.91
Copy Buffer 100000 Uint8Array.prototype.slice.call 99.847 us/op 96.204 us/op 1.04
Copy Uint8Array 100000 slice + set 189.77 us/op 197.96 us/op 0.96
Copy Uint8Array 100000 subarray + set 93.320 us/op 97.538 us/op 0.96
Copy Uint8Array 100000 slice arrayBuffer 92.362 us/op 99.897 us/op 0.92
Uint64 deserialize 100000 - iterate Uint8Array 2.0482 ms/op 2.0704 ms/op 0.99
Uint64 deserialize 100000 - by Uint32A 2.1250 ms/op 2.0096 ms/op 1.06
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.9610 ms/op 2.1237 ms/op 0.92
Uint64 deserialize 100000 - by DataView.getBigUint64 5.0504 ms/op 5.0727 ms/op 1.00
Uint64 deserialize 100000 - by byte 40.907 ms/op 40.725 ms/op 1.00

by benchmarkbot/action

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from 2448f69 to ddd6b99 Compare January 23, 2025 16:29
@wemeetagain wemeetagain merged commit 7e0a540 into master Jan 23, 2025
9 checks passed
@wemeetagain wemeetagain deleted the release-please--branches--master branch January 23, 2025 18:30
@wemeetagain
Copy link
Member Author

πŸ€– Release is at https://github.com/ChainSafe/ssz/releases/tag/as-sha256-v1.0.0 🌻

@wemeetagain
Copy link
Member Author

@wemeetagain
Copy link
Member Author

πŸ€– Release is at https://github.com/ChainSafe/ssz/releases/tag/persistent-ts-v1.0.0 🌻

@wemeetagain
Copy link
Member Author

πŸ€– Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v1.0.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.

2 participants