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

Merged
merged 1 commit into from
May 4, 2024
Merged

chore: release master #358

merged 1 commit into from
May 4, 2024

Conversation

wemeetagain
Copy link
Member

@wemeetagain wemeetagain commented Mar 25, 2024

🤖 I have created a release beep boop

as-sha256: 0.4.2

0.4.2 (2024-05-02)

Bug Fixes

  • migrate to the latest assemblyscript (#348) (9cf6991)
@chainsafe/persistent-merkle-tree: 0.7.2

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 0.4.2
ssz: 0.16.0

0.16.0 (2024-05-02)

Features

  • add sliceFrom to ListCompositeTreeViewDU (#366) (b3fa4f1)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @chainsafe/as-sha256 bumped to 0.4.2
      • @chainsafe/persistent-merkle-tree bumped to 0.7.2

This PR was generated with Release Please. See documentation.

Copy link

github-actions bot commented Mar 25, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 7c3f1b5 Previous: d7191b8 Ratio
new LeafNode() x7812.5 14.972 us/op 196.06 us/op 0.08
Full benchmark results
Benchmark suite Current: 7c3f1b5 Previous: d7191b8 Ratio
digestTwoHashObjects 50023 times 47.765 ms/op 47.886 ms/op 1.00
digest64 50023 times 50.468 ms/op 49.990 ms/op 1.01
digest 50023 times 51.520 ms/op 53.310 ms/op 0.97
input length 32 1.1730 us/op 1.4250 us/op 0.82
input length 64 1.3490 us/op 1.5750 us/op 0.86
input length 128 2.2520 us/op 2.5030 us/op 0.90
input length 256 3.3900 us/op 3.6120 us/op 0.94
input length 512 5.5440 us/op 5.8320 us/op 0.95
input length 1024 10.905 us/op 11.144 us/op 0.98
digest 1000000 times 802.34 ms/op 832.82 ms/op 0.96
hashObjectToByteArray 50023 times 1.4297 ms/op 1.4249 ms/op 1.00
byteArrayToHashObject 50023 times 2.4640 ms/op 3.5406 ms/op 0.70
getGindicesAtDepth 4.5280 us/op 5.0250 us/op 0.90
iterateAtDepth 7.2930 us/op 10.126 us/op 0.72
getGindexBits 456.00 ns/op 538.00 ns/op 0.85
gindexIterator 1.0030 us/op 1.2020 us/op 0.83
hash 2 Uint8Array 2250026 times - as-sha256 2.2977 s/op 2.3193 s/op 0.99
hashTwoObjects 2250026 times - as-sha256 2.2175 s/op 2.2329 s/op 0.99
hash 2 Uint8Array 2250026 times - noble 5.0004 s/op 6.0164 s/op 0.83
hashTwoObjects 2250026 times - noble 6.6020 s/op 6.9520 s/op 0.95
getNodeH() x7812.5 avg hindex 14.118 us/op 15.617 us/op 0.90
getNodeH() x7812.5 index 0 6.6770 us/op 5.1580 us/op 1.29
getNodeH() x7812.5 index 7 6.6060 us/op 5.1250 us/op 1.29
getNodeH() x7812.5 index 7 with key array 6.4900 us/op 5.2030 us/op 1.25
new LeafNode() x7812.5 14.972 us/op 196.06 us/op 0.08
multiproof - depth 15, 1 requested leaves 9.3850 us/op 10.337 us/op 0.91
tree offset multiproof - depth 15, 1 requested leaves 19.926 us/op 20.629 us/op 0.97
compact multiproof - depth 15, 1 requested leaves 5.1560 us/op 5.4510 us/op 0.95
multiproof - depth 15, 2 requested leaves 12.663 us/op 13.569 us/op 0.93
tree offset multiproof - depth 15, 2 requested leaves 22.738 us/op 24.482 us/op 0.93
compact multiproof - depth 15, 2 requested leaves 4.3650 us/op 3.3270 us/op 1.31
multiproof - depth 15, 3 requested leaves 18.101 us/op 18.761 us/op 0.96
tree offset multiproof - depth 15, 3 requested leaves 30.117 us/op 31.822 us/op 0.95
compact multiproof - depth 15, 3 requested leaves 4.7020 us/op 5.5330 us/op 0.85
multiproof - depth 15, 4 requested leaves 22.922 us/op 24.656 us/op 0.93
tree offset multiproof - depth 15, 4 requested leaves 34.632 us/op 39.102 us/op 0.89
compact multiproof - depth 15, 4 requested leaves 5.2850 us/op 5.4100 us/op 0.98
packedRootsBytesToLeafNodes bytes 4000 offset 0 2.0810 us/op 1.9940 us/op 1.04
packedRootsBytesToLeafNodes bytes 4000 offset 1 2.0960 us/op 1.9860 us/op 1.06
packedRootsBytesToLeafNodes bytes 4000 offset 2 2.0490 us/op 1.9790 us/op 1.04
packedRootsBytesToLeafNodes bytes 4000 offset 3 2.0360 us/op 1.9860 us/op 1.03
subtreeFillToContents depth 40 count 250000 47.433 ms/op 47.466 ms/op 1.00
setRoot - gindexBitstring 9.2539 ms/op 9.1755 ms/op 1.01
setRoot - gindex 10.187 ms/op 9.7307 ms/op 1.05
getRoot - gindexBitstring 2.5119 ms/op 2.4145 ms/op 1.04
getRoot - gindex 3.2950 ms/op 3.1756 ms/op 1.04
getHashObject then setHashObject 11.555 ms/op 10.632 ms/op 1.09
setNodeWithFn 9.3256 ms/op 9.3400 ms/op 1.00
getNodeAtDepth depth 0 x100000 1.0856 ms/op 1.1700 ms/op 0.93
setNodeAtDepth depth 0 x100000 2.6453 ms/op 2.7642 ms/op 0.96
getNodesAtDepth depth 0 x100000 1.0548 ms/op 1.0841 ms/op 0.97
setNodesAtDepth depth 0 x100000 1.4534 ms/op 1.4874 ms/op 0.98
getNodeAtDepth depth 1 x100000 1.1450 ms/op 1.2343 ms/op 0.93
setNodeAtDepth depth 1 x100000 5.9304 ms/op 5.9648 ms/op 0.99
getNodesAtDepth depth 1 x100000 1.1800 ms/op 1.2084 ms/op 0.98
setNodesAtDepth depth 1 x100000 4.8260 ms/op 6.0912 ms/op 0.79
getNodeAtDepth depth 2 x100000 1.4252 ms/op 1.4848 ms/op 0.96
setNodeAtDepth depth 2 x100000 10.352 ms/op 10.058 ms/op 1.03
getNodesAtDepth depth 2 x100000 19.387 ms/op 20.438 ms/op 0.95
setNodesAtDepth depth 2 x100000 14.074 ms/op 14.112 ms/op 1.00
tree.getNodesAtDepth - gindexes 9.3764 ms/op 7.5169 ms/op 1.25
tree.getNodesAtDepth - push all nodes 2.3566 ms/op 2.2665 ms/op 1.04
tree.getNodesAtDepth - navigation 240.75 us/op 157.90 us/op 1.52
tree.setNodesAtDepth - indexes 369.08 us/op 389.96 us/op 0.95
set at depth 8 529.00 ns/op 622.00 ns/op 0.85
set at depth 16 686.00 ns/op 707.00 ns/op 0.97
set at depth 32 1.1010 us/op 1.0920 us/op 1.01
iterateNodesAtDepth 8 256 14.239 us/op 14.225 us/op 1.00
getNodesAtDepth 8 256 3.6620 us/op 3.5750 us/op 1.02
iterateNodesAtDepth 16 65536 4.6055 ms/op 4.6538 ms/op 0.99
getNodesAtDepth 16 65536 2.0048 ms/op 2.0332 ms/op 0.99
iterateNodesAtDepth 32 250000 16.404 ms/op 16.961 ms/op 0.97
getNodesAtDepth 32 250000 4.8150 ms/op 4.7969 ms/op 1.00
iterateNodesAtDepth 40 250000 16.795 ms/op 16.909 ms/op 0.99
getNodesAtDepth 40 250000 4.7777 ms/op 4.7079 ms/op 1.01
250k validators 7.9632 s/op 7.7870 s/op 1.02
bitlist bytes to struct (120,90) 577.00 ns/op 814.00 ns/op 0.71
bitlist bytes to tree (120,90) 2.4200 us/op 2.4590 us/op 0.98
bitlist bytes to struct (2048,2048) 1.0600 us/op 1.0840 us/op 0.98
bitlist bytes to tree (2048,2048) 3.7480 us/op 3.8720 us/op 0.97
ByteListType - deserialize 8.2058 ms/op 7.5503 ms/op 1.09
BasicListType - deserialize 14.154 ms/op 10.070 ms/op 1.41
ByteListType - serialize 6.7924 ms/op 7.6534 ms/op 0.89
BasicListType - serialize 10.148 ms/op 10.754 ms/op 0.94
BasicListType - tree_convertToStruct 25.577 ms/op 24.923 ms/op 1.03
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.2360 ms/op 4.1160 ms/op 1.03
List[uint8, 68719476736] len 300000 ViewDU.get(i) 3.9816 ms/op 4.1212 ms/op 0.97
Array.push len 300000 empty Array - number 6.4234 ms/op 6.3867 ms/op 1.01
Array.set len 300000 from new Array - number 1.7324 ms/op 1.7237 ms/op 1.01
Array.set len 300000 - number 5.9891 ms/op 5.3869 ms/op 1.11
Uint8Array.set len 300000 383.00 us/op 216.26 us/op 1.77
Uint32Array.set len 300000 457.16 us/op 310.00 us/op 1.47
Container({a: uint8, b: uint8}) getViewDU x300000 52.095 ms/op 20.526 ms/op 2.54
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.791 ms/op 9.3895 ms/op 1.15
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 212.80 ms/op 205.57 ms/op 1.04
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 242.17 ms/op 269.11 ms/op 0.90
List(Container) len 300000 ViewDU.get(i) 6.8523 ms/op 6.6708 ms/op 1.03
List(Container) len 300000 ViewDU.getReadonly(i) 6.5164 ms/op 6.6290 ms/op 0.98
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 39.007 ms/op 36.783 ms/op 1.06
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.0449 ms/op 5.3122 ms/op 0.95
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 5.9277 ms/op 6.1704 ms/op 0.96
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.0260 ms/op 6.0321 ms/op 1.00
Array.push len 300000 empty Array - object 6.9908 ms/op 5.9902 ms/op 1.17
Array.set len 300000 from new Array - object 1.9337 ms/op 2.0365 ms/op 0.95
Array.set len 300000 - object 5.5828 ms/op 6.1522 ms/op 0.91
cachePermanentRootStruct no cache 8.4450 us/op 9.1410 us/op 0.92
cachePermanentRootStruct with cache 211.00 ns/op 236.00 ns/op 0.89
epochParticipation len 250000 rws 7813 2.2748 ms/op 2.3681 ms/op 0.96
deserialize Attestation - tree 3.9790 us/op 3.0250 us/op 1.32
deserialize Attestation - struct 1.7460 us/op 2.0330 us/op 0.86
deserialize SignedAggregateAndProof - tree 3.5430 us/op 3.7690 us/op 0.94
deserialize SignedAggregateAndProof - struct 2.9140 us/op 3.1060 us/op 0.94
deserialize SyncCommitteeMessage - tree 1.0600 us/op 1.1530 us/op 0.92
deserialize SyncCommitteeMessage - struct 1.0340 us/op 1.2390 us/op 0.83
deserialize SignedContributionAndProof - tree 2.0140 us/op 2.0200 us/op 1.00
deserialize SignedContributionAndProof - struct 2.2600 us/op 2.5410 us/op 0.89
deserialize SignedBeaconBlock - tree 205.25 us/op 218.01 us/op 0.94
deserialize SignedBeaconBlock - struct 113.22 us/op 131.57 us/op 0.86
BeaconState vc 300000 - deserialize tree 547.41 ms/op 560.85 ms/op 0.98
BeaconState vc 300000 - serialize tree 114.59 ms/op 138.89 ms/op 0.83
BeaconState.historicalRoots vc 300000 - deserialize tree 742.00 ns/op 849.00 ns/op 0.87
BeaconState.historicalRoots vc 300000 - serialize tree 634.00 ns/op 664.00 ns/op 0.95
BeaconState.validators vc 300000 - deserialize tree 527.27 ms/op 546.40 ms/op 0.96
BeaconState.validators vc 300000 - serialize tree 94.219 ms/op 100.67 ms/op 0.94
BeaconState.balances vc 300000 - deserialize tree 20.347 ms/op 17.174 ms/op 1.18
BeaconState.balances vc 300000 - serialize tree 3.9887 ms/op 3.0579 ms/op 1.30
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 629.38 us/op 367.59 us/op 1.71
BeaconState.previousEpochParticipation vc 300000 - serialize tree 289.61 us/op 276.70 us/op 1.05
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 565.13 us/op 368.46 us/op 1.53
BeaconState.currentEpochParticipation vc 300000 - serialize tree 301.89 us/op 271.47 us/op 1.11
BeaconState.inactivityScores vc 300000 - deserialize tree 19.889 ms/op 21.489 ms/op 0.93
BeaconState.inactivityScores vc 300000 - serialize tree 3.3885 ms/op 2.5703 ms/op 1.32
hashTreeRoot Attestation - struct 25.496 us/op 26.814 us/op 0.95
hashTreeRoot Attestation - tree 18.854 us/op 18.460 us/op 1.02
hashTreeRoot SignedAggregateAndProof - struct 37.465 us/op 38.330 us/op 0.98
hashTreeRoot SignedAggregateAndProof - tree 27.473 us/op 27.860 us/op 0.99
hashTreeRoot SyncCommitteeMessage - struct 8.9380 us/op 9.1000 us/op 0.98
hashTreeRoot SyncCommitteeMessage - tree 6.3140 us/op 6.4290 us/op 0.98
hashTreeRoot SignedContributionAndProof - struct 25.414 us/op 25.959 us/op 0.98
hashTreeRoot SignedContributionAndProof - tree 18.579 us/op 19.717 us/op 0.94
hashTreeRoot SignedBeaconBlock - struct 2.1555 ms/op 2.3192 ms/op 0.93
hashTreeRoot SignedBeaconBlock - tree 1.6832 ms/op 1.6849 ms/op 1.00
hashTreeRoot Validator - struct 11.851 us/op 12.719 us/op 0.93
hashTreeRoot Validator - tree 10.046 us/op 10.909 us/op 0.92
BeaconState vc 300000 - hashTreeRoot tree 3.6047 s/op 3.6104 s/op 1.00
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.3210 us/op 1.4290 us/op 0.92
BeaconState.validators vc 300000 - hashTreeRoot tree 3.4596 s/op 3.4445 s/op 1.00
BeaconState.balances vc 300000 - hashTreeRoot tree 88.683 ms/op 85.030 ms/op 1.04
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 9.0309 ms/op 9.0571 ms/op 1.00
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 9.0233 ms/op 9.0534 ms/op 1.00
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 85.330 ms/op 88.596 ms/op 0.96
hash64 x18 19.351 us/op 19.772 us/op 0.98
hashTwoObjects x18 18.349 us/op 17.922 us/op 1.02
hash64 x1740 1.8050 ms/op 1.8284 ms/op 0.99
hashTwoObjects x1740 1.7072 ms/op 1.7140 ms/op 1.00
hash64 x2700000 2.8247 s/op 2.8519 s/op 0.99
hashTwoObjects x2700000 2.6660 s/op 2.6560 s/op 1.00
get_exitEpoch - ContainerType 229.00 ns/op 210.00 ns/op 1.09
get_exitEpoch - ContainerNodeStructType 226.00 ns/op 210.00 ns/op 1.08
set_exitEpoch - ContainerType 244.00 ns/op 237.00 ns/op 1.03
set_exitEpoch - ContainerNodeStructType 208.00 ns/op 215.00 ns/op 0.97
get_pubkey - ContainerType 851.00 ns/op 1.0250 us/op 0.83
get_pubkey - ContainerNodeStructType 212.00 ns/op 205.00 ns/op 1.03
hashTreeRoot - ContainerType 338.00 ns/op 383.00 ns/op 0.88
hashTreeRoot - ContainerNodeStructType 400.00 ns/op 420.00 ns/op 0.95
createProof - ContainerType 3.7450 us/op 4.0400 us/op 0.93
createProof - ContainerNodeStructType 19.773 us/op 21.782 us/op 0.91
serialize - ContainerType 1.6710 us/op 1.7210 us/op 0.97
serialize - ContainerNodeStructType 1.3830 us/op 1.5070 us/op 0.92
set_exitEpoch_and_hashTreeRoot - ContainerType 4.1770 us/op 4.2100 us/op 0.99
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 11.300 us/op 11.363 us/op 0.99
Array - for of 5.8800 us/op 8.1760 us/op 0.72
Array - for(;;) 5.6570 us/op 7.1290 us/op 0.79
basicListValue.readonlyValuesArray() 4.5509 ms/op 3.9598 ms/op 1.15
basicListValue.readonlyValuesArray() + loop all 4.2518 ms/op 3.9055 ms/op 1.09
compositeListValue.readonlyValuesArray() 31.532 ms/op 27.427 ms/op 1.15
compositeListValue.readonlyValuesArray() + loop all 30.696 ms/op 23.793 ms/op 1.29
Number64UintType - get balances list 4.0878 ms/op 4.1407 ms/op 0.99
Number64UintType - set balances list 9.5517 ms/op 11.102 ms/op 0.86
Number64UintType - get and increase 10 then set 38.326 ms/op 40.869 ms/op 0.94
Number64UintType - increase 10 using applyDelta 15.525 ms/op 16.686 ms/op 0.93
Number64UintType - increase 10 using applyDeltaInBatch 15.036 ms/op 16.901 ms/op 0.89
tree_newTreeFromUint64Deltas 16.298 ms/op 15.831 ms/op 1.03
unsafeUint8ArrayToTree 26.677 ms/op 29.594 ms/op 0.90
bitLength(50) 209.00 ns/op 228.00 ns/op 0.92
bitLengthStr(50) 207.00 ns/op 246.00 ns/op 0.84
bitLength(8000) 214.00 ns/op 226.00 ns/op 0.95
bitLengthStr(8000) 250.00 ns/op 292.00 ns/op 0.86
bitLength(250000) 212.00 ns/op 228.00 ns/op 0.93
bitLengthStr(250000) 285.00 ns/op 322.00 ns/op 0.89
floor - Math.floor (53) 1.2381 ns/op 0.46599 ns/op 2.66
floor - << 0 (53) 1.2368 ns/op 0.46460 ns/op 2.66
floor - Math.floor (512) 1.2365 ns/op 0.46434 ns/op 2.66
floor - << 0 (512) 1.2377 ns/op 0.46516 ns/op 2.66
fnIf(0) 1.5454 ns/op 1.5477 ns/op 1.00
fnSwitch(0) 2.1646 ns/op 2.4843 ns/op 0.87
fnObj(0) 1.5487 ns/op 0.46509 ns/op 3.33
fnArr(0) 1.5461 ns/op 0.46511 ns/op 3.32
fnIf(4) 2.1662 ns/op 2.1645 ns/op 1.00
fnSwitch(4) 2.1642 ns/op 2.4816 ns/op 0.87
fnObj(4) 1.5509 ns/op 0.46390 ns/op 3.34
fnArr(4) 1.5461 ns/op 0.46552 ns/op 3.32
fnIf(9) 3.0903 ns/op 3.0982 ns/op 1.00
fnSwitch(9) 2.2455 ns/op 2.4740 ns/op 0.91
fnObj(9) 1.5466 ns/op 0.46420 ns/op 3.33
fnArr(9) 1.5492 ns/op 0.46570 ns/op 3.33
Container {a,b,vec} - as struct x100000 123.85 us/op 46.639 us/op 2.66
Container {a,b,vec} - as tree x100000 341.10 us/op 377.59 us/op 0.90
Container {a,vec,b} - as struct x100000 154.70 us/op 77.624 us/op 1.99
Container {a,vec,b} - as tree x100000 371.87 us/op 402.20 us/op 0.92
get 2 props x1000000 - rawObject 309.24 us/op 309.96 us/op 1.00
get 2 props x1000000 - proxy 72.703 ms/op 88.811 ms/op 0.82
get 2 props x1000000 - customObj 309.28 us/op 309.56 us/op 1.00
Simple object binary -> struct 577.00 ns/op 880.00 ns/op 0.66
Simple object binary -> tree_backed 1.0170 us/op 2.4590 us/op 0.41
Simple object struct -> tree_backed 1.5760 us/op 3.1400 us/op 0.50
Simple object tree_backed -> struct 1.5610 us/op 2.4700 us/op 0.63
Simple object struct -> binary 823.00 ns/op 1.2440 us/op 0.66
Simple object tree_backed -> binary 1.2890 us/op 2.1360 us/op 0.60
aggregationBits binary -> struct 461.00 ns/op 883.00 ns/op 0.52
aggregationBits binary -> tree_backed 1.9280 us/op 2.7290 us/op 0.71
aggregationBits struct -> tree_backed 2.2680 us/op 3.1830 us/op 0.71
aggregationBits tree_backed -> struct 948.00 ns/op 1.3260 us/op 0.71
aggregationBits struct -> binary 695.00 ns/op 905.00 ns/op 0.77
aggregationBits tree_backed -> binary 861.00 ns/op 1.1030 us/op 0.78
List(uint8) 100000 binary -> struct 1.5022 ms/op 1.3321 ms/op 1.13
List(uint8) 100000 binary -> tree_backed 88.980 us/op 88.172 us/op 1.01
List(uint8) 100000 struct -> tree_backed 1.1142 ms/op 1.3248 ms/op 0.84
List(uint8) 100000 tree_backed -> struct 1.1112 ms/op 917.12 us/op 1.21
List(uint8) 100000 struct -> binary 995.53 us/op 1.2295 ms/op 0.81
List(uint8) 100000 tree_backed -> binary 87.444 us/op 82.972 us/op 1.05
List(uint64Number) 100000 binary -> struct 1.1492 ms/op 1.2204 ms/op 0.94
List(uint64Number) 100000 binary -> tree_backed 2.9682 ms/op 3.1955 ms/op 0.93
List(uint64Number) 100000 struct -> tree_backed 4.3004 ms/op 4.6614 ms/op 0.92
List(uint64Number) 100000 tree_backed -> struct 2.0836 ms/op 2.0947 ms/op 0.99
List(uint64Number) 100000 struct -> binary 1.3424 ms/op 1.4316 ms/op 0.94
List(uint64Number) 100000 tree_backed -> binary 836.97 us/op 809.14 us/op 1.03
List(Uint64Bigint) 100000 binary -> struct 3.4986 ms/op 3.3674 ms/op 1.04
List(Uint64Bigint) 100000 binary -> tree_backed 3.0407 ms/op 2.9971 ms/op 1.01
List(Uint64Bigint) 100000 struct -> tree_backed 5.3177 ms/op 5.1206 ms/op 1.04
List(Uint64Bigint) 100000 tree_backed -> struct 4.4707 ms/op 4.4615 ms/op 1.00
List(Uint64Bigint) 100000 struct -> binary 2.0467 ms/op 2.0405 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 1.2760 ms/op 811.48 us/op 1.57
Vector(Root) 100000 binary -> struct 29.375 ms/op 28.394 ms/op 1.03
Vector(Root) 100000 binary -> tree_backed 25.781 ms/op 32.532 ms/op 0.79
Vector(Root) 100000 struct -> tree_backed 35.684 ms/op 35.697 ms/op 1.00
Vector(Root) 100000 tree_backed -> struct 43.586 ms/op 43.923 ms/op 0.99
Vector(Root) 100000 struct -> binary 2.5733 ms/op 1.8683 ms/op 1.38
Vector(Root) 100000 tree_backed -> binary 9.1937 ms/op 9.9326 ms/op 0.93
List(Validator) 100000 binary -> struct 105.32 ms/op 101.98 ms/op 1.03
List(Validator) 100000 binary -> tree_backed 265.02 ms/op 282.34 ms/op 0.94
List(Validator) 100000 struct -> tree_backed 281.84 ms/op 292.96 ms/op 0.96
List(Validator) 100000 tree_backed -> struct 188.31 ms/op 199.31 ms/op 0.94
List(Validator) 100000 struct -> binary 26.849 ms/op 30.643 ms/op 0.88
List(Validator) 100000 tree_backed -> binary 100.75 ms/op 98.934 ms/op 1.02
List(Validator-NS) 100000 binary -> struct 100.89 ms/op 102.31 ms/op 0.99
List(Validator-NS) 100000 binary -> tree_backed 135.64 ms/op 156.57 ms/op 0.87
List(Validator-NS) 100000 struct -> tree_backed 167.40 ms/op 191.76 ms/op 0.87
List(Validator-NS) 100000 tree_backed -> struct 142.25 ms/op 154.29 ms/op 0.92
List(Validator-NS) 100000 struct -> binary 26.481 ms/op 31.075 ms/op 0.85
List(Validator-NS) 100000 tree_backed -> binary 31.378 ms/op 35.971 ms/op 0.87
get epochStatuses - MutableVector 88.120 us/op 94.825 us/op 0.93
get epochStatuses - ViewDU 202.86 us/op 203.21 us/op 1.00
set epochStatuses - ListTreeView 1.5004 ms/op 1.3908 ms/op 1.08
set epochStatuses - ListTreeView - set() 446.00 us/op 433.07 us/op 1.03
set epochStatuses - ListTreeView - commit() 462.70 us/op 416.37 us/op 1.11
bitstring 636.40 ns/op 647.69 ns/op 0.98
bit mask 14.140 ns/op 13.699 ns/op 1.03
struct - increase slot to 1000000 927.73 us/op 927.60 us/op 1.00
UintNumberType - increase slot to 1000000 21.681 ms/op 28.524 ms/op 0.76
UintBigintType - increase slot to 1000000 166.29 ms/op 445.10 ms/op 0.37
UintBigint8 x 100000 tree_deserialize 4.5574 ms/op 5.5845 ms/op 0.82
UintBigint8 x 100000 tree_serialize 1.0925 ms/op 1.1846 ms/op 0.92
UintBigint16 x 100000 tree_deserialize 4.5808 ms/op 5.6496 ms/op 0.81
UintBigint16 x 100000 tree_serialize 1.1836 ms/op 1.2357 ms/op 0.96
UintBigint32 x 100000 tree_deserialize 5.3669 ms/op 5.7431 ms/op 0.93
UintBigint32 x 100000 tree_serialize 1.1798 ms/op 1.2368 ms/op 0.95
UintBigint64 x 100000 tree_deserialize 5.8162 ms/op 6.4471 ms/op 0.90
UintBigint64 x 100000 tree_serialize 1.5370 ms/op 1.6473 ms/op 0.93
UintBigint8 x 100000 value_deserialize 434.50 us/op 433.38 us/op 1.00
UintBigint8 x 100000 value_serialize 619.42 us/op 614.63 us/op 1.01
UintBigint16 x 100000 value_deserialize 464.13 us/op 463.93 us/op 1.00
UintBigint16 x 100000 value_serialize 689.91 us/op 651.98 us/op 1.06
UintBigint32 x 100000 value_deserialize 433.16 us/op 433.19 us/op 1.00
UintBigint32 x 100000 value_serialize 663.05 us/op 652.73 us/op 1.02
UintBigint64 x 100000 value_deserialize 496.73 us/op 465.05 us/op 1.07
UintBigint64 x 100000 value_serialize 820.60 us/op 822.77 us/op 1.00
UintBigint8 x 100000 deserialize 3.0242 ms/op 4.7750 ms/op 0.63
UintBigint8 x 100000 serialize 1.5157 ms/op 1.4649 ms/op 1.03
UintBigint16 x 100000 deserialize 3.0601 ms/op 4.7399 ms/op 0.65
UintBigint16 x 100000 serialize 1.5497 ms/op 1.5099 ms/op 1.03
UintBigint32 x 100000 deserialize 3.0505 ms/op 5.5632 ms/op 0.55
UintBigint32 x 100000 serialize 2.6946 ms/op 2.8412 ms/op 0.95
UintBigint64 x 100000 deserialize 3.6435 ms/op 3.8645 ms/op 0.94
UintBigint64 x 100000 serialize 1.5085 ms/op 1.4908 ms/op 1.01
UintBigint128 x 100000 deserialize 4.9265 ms/op 5.9020 ms/op 0.83
UintBigint128 x 100000 serialize 14.111 ms/op 16.932 ms/op 0.83
UintBigint256 x 100000 deserialize 8.2080 ms/op 10.994 ms/op 0.75
UintBigint256 x 100000 serialize 42.104 ms/op 50.243 ms/op 0.84
Slice from Uint8Array x25000 1.1132 ms/op 1.0019 ms/op 1.11
Slice from ArrayBuffer x25000 16.460 ms/op 16.878 ms/op 0.98
Slice from ArrayBuffer x25000 + new Uint8Array 17.717 ms/op 19.369 ms/op 0.91
Copy Uint8Array 100000 iterate 1.6576 ms/op 825.74 us/op 2.01
Copy Uint8Array 100000 slice 118.19 us/op 91.124 us/op 1.30
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 117.20 us/op 92.262 us/op 1.27
Copy Buffer 100000 Uint8Array.prototype.slice.call 116.91 us/op 91.656 us/op 1.28
Copy Uint8Array 100000 slice + set 185.46 us/op 149.16 us/op 1.24
Copy Uint8Array 100000 subarray + set 116.43 us/op 92.838 us/op 1.25
Copy Uint8Array 100000 slice arrayBuffer 118.79 us/op 91.937 us/op 1.29
Uint64 deserialize 100000 - iterate Uint8Array 1.7605 ms/op 1.7640 ms/op 1.00
Uint64 deserialize 100000 - by Uint32A 1.8630 ms/op 1.6971 ms/op 1.10
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.8729 ms/op 1.6968 ms/op 1.10
Uint64 deserialize 100000 - by DataView.getBigUint64 4.9423 ms/op 4.8651 ms/op 1.02
Uint64 deserialize 100000 - by byte 40.168 ms/op 65.100 ms/op 0.62

by benchmarkbot/action

@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from 256cdd4 to eb2cbc1 Compare April 1, 2024 11:29
@wemeetagain wemeetagain force-pushed the release-please--branches--master branch from eb2cbc1 to cd7f973 Compare May 2, 2024 09:45
@ensi321 ensi321 merged commit 8d4d8bc into master May 4, 2024
9 checks passed
@ensi321 ensi321 deleted the release-please--branches--master branch May 4, 2024 03:39
@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.16.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