-
-
Notifications
You must be signed in to change notification settings - Fork 21
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 #317
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
wemeetagain
force-pushed
the
release-please--branches--master
branch
from
April 5, 2023 14:57
d546242
to
3e8c541
Compare
Signed-off-by: Marin Petrunic <marin.petrunic@gmail.com>
|
Benchmark suite | Current: ca6fa14 | Previous: a1f53c6 | Ratio |
---|---|---|---|
Container({a: uint8, b: uint8}) getViewDU x300000 | 98.416 ms/op | 27.883 ms/op | 3.53 |
Copy Uint8Array 100000 slice | 345.81 us/op | 91.786 us/op | 3.77 |
Copy Uint8Array 100000 Uint8Array.prototype.slice.call | 404.10 us/op | 91.195 us/op | 4.43 |
Copy Buffer 100000 Uint8Array.prototype.slice.call | 383.41 us/op | 93.437 us/op | 4.10 |
Copy Uint8Array 100000 slice + set | 761.98 us/op | 195.46 us/op | 3.90 |
Copy Uint8Array 100000 subarray + set | 383.99 us/op | 92.575 us/op | 4.15 |
Copy Uint8Array 100000 slice arrayBuffer | 412.20 us/op | 92.861 us/op | 4.44 |
Full benchmark results
Benchmark suite | Current: ca6fa14 | Previous: a1f53c6 | Ratio |
---|---|---|---|
digestTwoHashObjects 50023 times | 78.371 ms/op | 69.235 ms/op | 1.13 |
digest64 50023 times | 80.754 ms/op | 70.765 ms/op | 1.14 |
digest 50023 times | 79.820 ms/op | 70.943 ms/op | 1.13 |
input length 32 | 1.8520 us/op | 1.6770 us/op | 1.10 |
input length 64 | 2.0360 us/op | 1.8150 us/op | 1.12 |
input length 128 | 3.5960 us/op | 3.2010 us/op | 1.12 |
input length 256 | 5.4550 us/op | 4.8650 us/op | 1.12 |
input length 512 | 8.3360 us/op | 8.0670 us/op | 1.03 |
input length 1024 | 17.202 us/op | 15.800 us/op | 1.09 |
digest 1000000 times | 1.3999 s/op | 1.1446 s/op | 1.22 |
hashObjectToByteArray 50023 times | 2.6702 ms/op | 1.9055 ms/op | 1.40 |
byteArrayToHashObject 50023 times | 3.3184 ms/op | 2.0666 ms/op | 1.61 |
getGindicesAtDepth | 7.3700 us/op | 5.2660 us/op | 1.40 |
iterateAtDepth | 15.590 us/op | 10.917 us/op | 1.43 |
getGindexBits | 715.00 ns/op | 548.00 ns/op | 1.30 |
gindexIterator | 1.5040 us/op | 1.3170 us/op | 1.14 |
hash 2 Uint8Array 2250026 times - as-sha256 | 3.6260 s/op | 3.2276 s/op | 1.12 |
hashTwoObjects 2250026 times - as-sha256 | 3.6114 s/op | 3.1122 s/op | 1.16 |
hash 2 Uint8Array 2250026 times - noble | 9.6710 s/op | 8.6595 s/op | 1.12 |
hashTwoObjects 2250026 times - noble | 11.799 s/op | 10.689 s/op | 1.10 |
getNodeH() x7812.5 avg hindex | 30.857 us/op | 20.382 us/op | 1.51 |
getNodeH() x7812.5 index 0 | 7.9520 us/op | 6.6450 us/op | 1.20 |
getNodeH() x7812.5 index 7 | 7.5260 us/op | 6.6620 us/op | 1.13 |
getNodeH() x7812.5 index 7 with key array | 7.4530 us/op | 6.6470 us/op | 1.12 |
new LeafNode() x7812.5 | 423.36 us/op | 286.10 us/op | 1.48 |
multiproof - depth 15, 1 requested leaves | 21.178 us/op | 14.721 us/op | 1.44 |
tree offset multiproof - depth 15, 1 requested leaves | 40.887 us/op | 31.579 us/op | 1.29 |
compact multiproof - depth 15, 1 requested leaves | 10.484 us/op | 7.7610 us/op | 1.35 |
multiproof - depth 15, 2 requested leaves | 24.540 us/op | 18.003 us/op | 1.36 |
tree offset multiproof - depth 15, 2 requested leaves | 43.085 us/op | 32.930 us/op | 1.31 |
compact multiproof - depth 15, 2 requested leaves | 6.1250 us/op | 4.6340 us/op | 1.32 |
multiproof - depth 15, 3 requested leaves | 32.630 us/op | 24.890 us/op | 1.31 |
tree offset multiproof - depth 15, 3 requested leaves | 56.102 us/op | 42.538 us/op | 1.32 |
compact multiproof - depth 15, 3 requested leaves | 10.924 us/op | 7.6660 us/op | 1.42 |
multiproof - depth 15, 4 requested leaves | 42.041 us/op | 32.795 us/op | 1.28 |
tree offset multiproof - depth 15, 4 requested leaves | 64.707 us/op | 52.511 us/op | 1.23 |
compact multiproof - depth 15, 4 requested leaves | 10.965 us/op | 8.0430 us/op | 1.36 |
packedRootsBytesToLeafNodes bytes 4000 offset 0 | 3.9270 us/op | 2.7000 us/op | 1.45 |
packedRootsBytesToLeafNodes bytes 4000 offset 1 | 4.1300 us/op | 2.6090 us/op | 1.58 |
packedRootsBytesToLeafNodes bytes 4000 offset 2 | 3.8660 us/op | 2.6130 us/op | 1.48 |
packedRootsBytesToLeafNodes bytes 4000 offset 3 | 4.0250 us/op | 2.6350 us/op | 1.53 |
subtreeFillToContents depth 40 count 250000 | 97.486 ms/op | 59.861 ms/op | 1.63 |
setRoot - gindexBitstring | 19.220 ms/op | 11.449 ms/op | 1.68 |
setRoot - gindex | 19.209 ms/op | 11.691 ms/op | 1.64 |
getRoot - gindexBitstring | 4.1706 ms/op | 3.1958 ms/op | 1.31 |
getRoot - gindex | 4.9412 ms/op | 4.2086 ms/op | 1.17 |
getHashObject then setHashObject | 20.300 ms/op | 13.399 ms/op | 1.51 |
setNodeWithFn | 19.328 ms/op | 11.784 ms/op | 1.64 |
getNodeAtDepth depth 0 x100000 | 1.7102 ms/op | 1.6295 ms/op | 1.05 |
setNodeAtDepth depth 0 x100000 | 4.7191 ms/op | 3.2584 ms/op | 1.45 |
getNodesAtDepth depth 0 x100000 | 1.5575 ms/op | 1.4111 ms/op | 1.10 |
setNodesAtDepth depth 0 x100000 | 2.0782 ms/op | 1.9915 ms/op | 1.04 |
getNodeAtDepth depth 1 x100000 | 1.8033 ms/op | 1.7447 ms/op | 1.03 |
setNodeAtDepth depth 1 x100000 | 10.480 ms/op | 6.9426 ms/op | 1.51 |
getNodesAtDepth depth 1 x100000 | 1.7458 ms/op | 1.5981 ms/op | 1.09 |
setNodesAtDepth depth 1 x100000 | 7.3306 ms/op | 5.7965 ms/op | 1.26 |
getNodeAtDepth depth 2 x100000 | 2.4359 ms/op | 2.1874 ms/op | 1.11 |
setNodeAtDepth depth 2 x100000 | 19.098 ms/op | 11.901 ms/op | 1.60 |
getNodesAtDepth depth 2 x100000 | 31.399 ms/op | 25.897 ms/op | 1.21 |
setNodesAtDepth depth 2 x100000 | 24.583 ms/op | 17.301 ms/op | 1.42 |
tree.getNodesAtDepth - gindexes | 8.4706 ms/op | 6.8657 ms/op | 1.23 |
tree.getNodesAtDepth - push all nodes | 2.9309 ms/op | 2.1796 ms/op | 1.34 |
tree.getNodesAtDepth - navigation | 177.95 us/op | 201.47 us/op | 0.88 |
tree.setNodesAtDepth - indexes | 572.66 us/op | 513.99 us/op | 1.11 |
set at depth 8 | 872.00 ns/op | 689.00 ns/op | 1.27 |
set at depth 16 | 1.1690 us/op | 870.00 ns/op | 1.34 |
set at depth 32 | 1.9770 us/op | 1.3930 us/op | 1.42 |
iterateNodesAtDepth 8 256 | 22.074 us/op | 17.582 us/op | 1.26 |
getNodesAtDepth 8 256 | 5.3790 us/op | 4.4380 us/op | 1.21 |
iterateNodesAtDepth 16 65536 | 6.9251 ms/op | 5.4034 ms/op | 1.28 |
getNodesAtDepth 16 65536 | 2.4916 ms/op | 2.0862 ms/op | 1.19 |
iterateNodesAtDepth 32 250000 | 24.277 ms/op | 20.081 ms/op | 1.21 |
getNodesAtDepth 32 250000 | 6.6699 ms/op | 5.5809 ms/op | 1.20 |
iterateNodesAtDepth 40 250000 | 25.868 ms/op | 20.299 ms/op | 1.27 |
getNodesAtDepth 40 250000 | 7.2461 ms/op | 5.6483 ms/op | 1.28 |
250k validators | 12.711 s/op | 11.147 s/op | 1.14 |
bitlist bytes to struct (120,90) | 1.2370 us/op | 1.2390 us/op | 1.00 |
bitlist bytes to tree (120,90) | 4.4410 us/op | 3.9540 us/op | 1.12 |
bitlist bytes to struct (2048,2048) | 1.9920 us/op | 1.7120 us/op | 1.16 |
bitlist bytes to tree (2048,2048) | 7.3500 us/op | 6.3370 us/op | 1.16 |
ByteListType - deserialize | 18.588 ms/op | 15.522 ms/op | 1.20 |
BasicListType - deserialize | 15.044 ms/op | 12.544 ms/op | 1.20 |
ByteListType - serialize | 18.249 ms/op | 14.879 ms/op | 1.23 |
BasicListType - serialize | 21.309 ms/op | 18.530 ms/op | 1.15 |
BasicListType - tree_convertToStruct | 41.743 ms/op | 34.221 ms/op | 1.22 |
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate | 7.8763 ms/op | 4.2722 ms/op | 1.84 |
List[uint8, 68719476736] len 300000 ViewDU.get(i) | 6.9396 ms/op | 3.9849 ms/op | 1.74 |
Array.push len 300000 empty Array - number | 10.613 ms/op | 7.8675 ms/op | 1.35 |
Array.set len 300000 from new Array - number | 2.5539 ms/op | 1.9520 ms/op | 1.31 |
Array.set len 300000 - number | 10.364 ms/op | 7.5115 ms/op | 1.38 |
Uint8Array.set len 300000 | 352.61 us/op | 246.03 us/op | 1.43 |
Uint32Array.set len 300000 | 535.34 us/op | 299.96 us/op | 1.78 |
Container({a: uint8, b: uint8}) getViewDU x300000 | 98.416 ms/op | 27.883 ms/op | 3.53 |
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 | 22.953 ms/op | 11.982 ms/op | 1.92 |
List(Container) len 300000 ViewDU.getAllReadonly() + iterate | 669.84 ms/op | 472.56 ms/op | 1.42 |
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate | 568.21 ms/op | 399.06 ms/op | 1.42 |
List(Container) len 300000 ViewDU.get(i) | 16.688 ms/op | 9.6343 ms/op | 1.73 |
List(Container) len 300000 ViewDU.getReadonly(i) | 13.709 ms/op | 8.9683 ms/op | 1.53 |
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate | 69.636 ms/op | 49.072 ms/op | 1.42 |
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate | 9.1854 ms/op | 7.4400 ms/op | 1.23 |
List(ContainerNodeStruct) len 300000 ViewDU.get(i) | 10.459 ms/op | 8.1128 ms/op | 1.29 |
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) | 9.9793 ms/op | 8.1925 ms/op | 1.22 |
Array.push len 300000 empty Array - object | 9.4368 ms/op | 7.1764 ms/op | 1.31 |
Array.set len 300000 from new Array - object | 3.0606 ms/op | 2.5887 ms/op | 1.18 |
Array.set len 300000 - object | 9.0260 ms/op | 7.8670 ms/op | 1.15 |
cachePermanentRootStruct no cache | 15.383 us/op | 13.584 us/op | 1.13 |
cachePermanentRootStruct with cache | 350.00 ns/op | 280.00 ns/op | 1.25 |
epochParticipation len 250000 rws 7813 | 4.0462 ms/op | 3.0447 ms/op | 1.33 |
deserialize Attestation - tree | 6.3080 us/op | 4.1980 us/op | 1.50 |
deserialize Attestation - struct | 3.8600 us/op | 3.1230 us/op | 1.24 |
deserialize SignedAggregateAndProof - tree | 9.3440 us/op | 5.4460 us/op | 1.72 |
deserialize SignedAggregateAndProof - struct | 6.0540 us/op | 4.9750 us/op | 1.22 |
deserialize SyncCommitteeMessage - tree | 1.7730 us/op | 1.6150 us/op | 1.10 |
deserialize SyncCommitteeMessage - struct | 2.0990 us/op | 1.8850 us/op | 1.11 |
deserialize SignedContributionAndProof - tree | 3.5520 us/op | 2.7690 us/op | 1.28 |
deserialize SignedContributionAndProof - struct | 5.1300 us/op | 4.1700 us/op | 1.23 |
deserialize SignedBeaconBlock - tree | 452.50 us/op | 302.13 us/op | 1.50 |
deserialize SignedBeaconBlock - struct | 270.46 us/op | 193.74 us/op | 1.40 |
BeaconState vc 300000 - deserialize tree | 1.1850 s/op | 897.82 ms/op | 1.32 |
BeaconState vc 300000 - serialize tree | 356.34 ms/op | 208.46 ms/op | 1.71 |
BeaconState.historicalRoots vc 300000 - deserialize tree | 1.3020 us/op | 1.5560 us/op | 0.84 |
BeaconState.historicalRoots vc 300000 - serialize tree | 1.5490 us/op | 1.6230 us/op | 0.95 |
BeaconState.validators vc 300000 - deserialize tree | 1.0896 s/op | 803.22 ms/op | 1.36 |
BeaconState.validators vc 300000 - serialize tree | 230.09 ms/op | 200.14 ms/op | 1.15 |
BeaconState.balances vc 300000 - deserialize tree | 45.663 ms/op | 33.901 ms/op | 1.35 |
BeaconState.balances vc 300000 - serialize tree | 5.9844 ms/op | 3.4704 ms/op | 1.72 |
BeaconState.previousEpochParticipation vc 300000 - deserialize tree | 1.0421 ms/op | 460.22 us/op | 2.26 |
BeaconState.previousEpochParticipation vc 300000 - serialize tree | 418.18 us/op | 339.51 us/op | 1.23 |
BeaconState.currentEpochParticipation vc 300000 - deserialize tree | 1.0658 ms/op | 460.95 us/op | 2.31 |
BeaconState.currentEpochParticipation vc 300000 - serialize tree | 403.01 us/op | 334.80 us/op | 1.20 |
BeaconState.inactivityScores vc 300000 - deserialize tree | 44.198 ms/op | 32.780 ms/op | 1.35 |
BeaconState.inactivityScores vc 300000 - serialize tree | 6.0936 ms/op | 3.3392 ms/op | 1.82 |
hashTreeRoot Attestation - struct | 55.262 us/op | 41.100 us/op | 1.34 |
hashTreeRoot Attestation - tree | 34.702 us/op | 28.500 us/op | 1.22 |
hashTreeRoot SignedAggregateAndProof - struct | 74.840 us/op | 57.746 us/op | 1.30 |
hashTreeRoot SignedAggregateAndProof - tree | 44.922 us/op | 40.334 us/op | 1.11 |
hashTreeRoot SyncCommitteeMessage - struct | 17.859 us/op | 13.841 us/op | 1.29 |
hashTreeRoot SyncCommitteeMessage - tree | 9.5570 us/op | 9.0210 us/op | 1.06 |
hashTreeRoot SignedContributionAndProof - struct | 49.137 us/op | 38.641 us/op | 1.27 |
hashTreeRoot SignedContributionAndProof - tree | 32.800 us/op | 28.523 us/op | 1.15 |
hashTreeRoot SignedBeaconBlock - struct | 4.4868 ms/op | 3.4197 ms/op | 1.31 |
hashTreeRoot SignedBeaconBlock - tree | 2.6289 ms/op | 2.4166 ms/op | 1.09 |
hashTreeRoot Validator - struct | 22.131 us/op | 18.798 us/op | 1.18 |
hashTreeRoot Validator - tree | 19.253 us/op | 15.309 us/op | 1.26 |
BeaconState vc 300000 - hashTreeRoot tree | 5.8314 s/op | 5.1351 s/op | 1.14 |
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree | 2.4610 us/op | 2.1190 us/op | 1.16 |
BeaconState.validators vc 300000 - hashTreeRoot tree | 5.6907 s/op | 4.8928 s/op | 1.16 |
BeaconState.balances vc 300000 - hashTreeRoot tree | 138.33 ms/op | 125.41 ms/op | 1.10 |
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree | 14.610 ms/op | 13.143 ms/op | 1.11 |
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree | 14.199 ms/op | 13.139 ms/op | 1.08 |
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree | 134.08 ms/op | 129.80 ms/op | 1.03 |
hash64 x18 | 32.786 us/op | 27.905 us/op | 1.17 |
hashTwoObjects x18 | 30.203 us/op | 25.996 us/op | 1.16 |
hash64 x1740 | 3.0754 ms/op | 2.6163 ms/op | 1.18 |
hashTwoObjects x1740 | 2.8386 ms/op | 2.4712 ms/op | 1.15 |
hash64 x2700000 | 4.4622 s/op | 4.0674 s/op | 1.10 |
hashTwoObjects x2700000 | 4.0616 s/op | 3.8146 s/op | 1.06 |
get_exitEpoch - ContainerType | 502.00 ns/op | 459.00 ns/op | 1.09 |
get_exitEpoch - ContainerNodeStructType | 420.00 ns/op | 402.00 ns/op | 1.04 |
set_exitEpoch - ContainerType | 444.00 ns/op | 442.00 ns/op | 1.00 |
set_exitEpoch - ContainerNodeStructType | 328.00 ns/op | 396.00 ns/op | 0.83 |
get_pubkey - ContainerType | 1.6140 us/op | 1.7090 us/op | 0.94 |
get_pubkey - ContainerNodeStructType | 310.00 ns/op | 299.00 ns/op | 1.04 |
hashTreeRoot - ContainerType | 548.00 ns/op | 510.00 ns/op | 1.07 |
hashTreeRoot - ContainerNodeStructType | 620.00 ns/op | 585.00 ns/op | 1.06 |
createProof - ContainerType | 7.0550 us/op | 6.8330 us/op | 1.03 |
createProof - ContainerNodeStructType | 38.973 us/op | 32.894 us/op | 1.18 |
serialize - ContainerType | 2.9770 us/op | 2.8700 us/op | 1.04 |
serialize - ContainerNodeStructType | 2.4620 us/op | 2.3030 us/op | 1.07 |
set_exitEpoch_and_hashTreeRoot - ContainerType | 6.5310 us/op | 5.9550 us/op | 1.10 |
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType | 18.085 us/op | 16.502 us/op | 1.10 |
Array - for of | 36.289 us/op | 6.8700 us/op | 5.28 |
Array - for(;;) | 34.783 us/op | 6.5030 us/op | 5.35 |
basicListValue.readonlyValuesArray() | 5.0002 ms/op | 4.1935 ms/op | 1.19 |
basicListValue.readonlyValuesArray() + loop all | 5.2015 ms/op | 4.3086 ms/op | 1.21 |
compositeListValue.readonlyValuesArray() | 43.072 ms/op | 31.781 ms/op | 1.36 |
compositeListValue.readonlyValuesArray() + loop all | 43.450 ms/op | 31.123 ms/op | 1.40 |
Number64UintType - get balances list | 7.0832 ms/op | 5.6757 ms/op | 1.25 |
Number64UintType - set balances list | 15.635 ms/op | 12.845 ms/op | 1.22 |
Number64UintType - get and increase 10 then set | 67.034 ms/op | 50.910 ms/op | 1.32 |
Number64UintType - increase 10 using applyDelta | 27.324 ms/op | 19.550 ms/op | 1.40 |
Number64UintType - increase 10 using applyDeltaInBatch | 25.244 ms/op | 19.968 ms/op | 1.26 |
tree_newTreeFromUint64Deltas | 28.333 ms/op | 20.761 ms/op | 1.36 |
unsafeUint8ArrayToTree | 54.646 ms/op | 39.118 ms/op | 1.40 |
bitLength(50) | 344.00 ns/op | 303.00 ns/op | 1.14 |
bitLengthStr(50) | 414.00 ns/op | 310.00 ns/op | 1.34 |
bitLength(8000) | 344.00 ns/op | 293.00 ns/op | 1.17 |
bitLengthStr(8000) | 547.00 ns/op | 373.00 ns/op | 1.47 |
bitLength(250000) | 334.00 ns/op | 287.00 ns/op | 1.16 |
bitLengthStr(250000) | 701.00 ns/op | 428.00 ns/op | 1.64 |
floor - Math.floor (53) | 0.61247 ns/op | 0.60270 ns/op | 1.02 |
floor - << 0 (53) | 0.60412 ns/op | 0.60258 ns/op | 1.00 |
floor - Math.floor (512) | 0.62255 ns/op | 0.60262 ns/op | 1.03 |
floor - << 0 (512) | 0.63452 ns/op | 0.60256 ns/op | 1.05 |
fnIf(0) | 2.0138 ns/op | 2.0078 ns/op | 1.00 |
fnSwitch(0) | 2.8486 ns/op | 3.3168 ns/op | 0.86 |
fnObj(0) | 0.62450 ns/op | 0.60264 ns/op | 1.04 |
fnArr(0) | 0.62394 ns/op | 0.60259 ns/op | 1.04 |
fnIf(4) | 2.8814 ns/op | 3.1277 ns/op | 0.92 |
fnSwitch(4) | 2.9449 ns/op | 3.3011 ns/op | 0.89 |
fnObj(4) | 0.63256 ns/op | 0.60257 ns/op | 1.05 |
fnArr(4) | 0.61670 ns/op | 0.60258 ns/op | 1.02 |
fnIf(9) | 4.0741 ns/op | 5.2258 ns/op | 0.78 |
fnSwitch(9) | 2.9402 ns/op | 3.5717 ns/op | 0.82 |
fnObj(9) | 0.62723 ns/op | 0.60259 ns/op | 1.04 |
fnArr(9) | 0.60009 ns/op | 0.60264 ns/op | 1.00 |
Container {a,b,vec} - as struct x100000 | 64.820 us/op | 60.514 us/op | 1.07 |
Container {a,b,vec} - as tree x100000 | 601.17 us/op | 510.32 us/op | 1.18 |
Container {a,vec,b} - as struct x100000 | 93.535 us/op | 120.82 us/op | 0.77 |
Container {a,vec,b} - as tree x100000 | 650.19 us/op | 564.25 us/op | 1.15 |
get 2 props x1000000 - rawObject | 350.14 us/op | 401.85 us/op | 0.87 |
get 2 props x1000000 - proxy | 114.37 ms/op | 90.234 ms/op | 1.27 |
get 2 props x1000000 - customObj | 371.95 us/op | 401.80 us/op | 0.93 |
Simple object binary -> struct | 1.8300 us/op | 844.00 ns/op | 2.17 |
Simple object binary -> tree_backed | 4.8100 us/op | 2.3840 us/op | 2.02 |
Simple object struct -> tree_backed | 6.2640 us/op | 3.1590 us/op | 1.98 |
Simple object tree_backed -> struct | 5.1270 us/op | 2.7080 us/op | 1.89 |
Simple object struct -> binary | 2.4670 us/op | 1.3670 us/op | 1.80 |
Simple object tree_backed -> binary | 4.7630 us/op | 2.3410 us/op | 2.03 |
aggregationBits binary -> struct | 1.7620 us/op | 721.00 ns/op | 2.44 |
aggregationBits binary -> tree_backed | 5.4440 us/op | 3.2060 us/op | 1.70 |
aggregationBits struct -> tree_backed | 6.0760 us/op | 3.7790 us/op | 1.61 |
aggregationBits tree_backed -> struct | 2.5770 us/op | 1.6120 us/op | 1.60 |
aggregationBits struct -> binary | 1.7670 us/op | 1.1270 us/op | 1.57 |
aggregationBits tree_backed -> binary | 2.2800 us/op | 1.4700 us/op | 1.55 |
List(uint8) 100000 binary -> struct | 2.9214 ms/op | 1.6813 ms/op | 1.74 |
List(uint8) 100000 binary -> tree_backed | 321.19 us/op | 126.13 us/op | 2.55 |
List(uint8) 100000 struct -> tree_backed | 2.4229 ms/op | 1.6422 ms/op | 1.48 |
List(uint8) 100000 tree_backed -> struct | 1.3970 ms/op | 1.1392 ms/op | 1.23 |
List(uint8) 100000 struct -> binary | 2.1735 ms/op | 1.5048 ms/op | 1.44 |
List(uint8) 100000 tree_backed -> binary | 147.14 us/op | 90.918 us/op | 1.62 |
List(uint64Number) 100000 binary -> struct | 2.1081 ms/op | 1.4563 ms/op | 1.45 |
List(uint64Number) 100000 binary -> tree_backed | 7.5792 ms/op | 4.0385 ms/op | 1.88 |
List(uint64Number) 100000 struct -> tree_backed | 9.5107 ms/op | 5.8662 ms/op | 1.62 |
List(uint64Number) 100000 tree_backed -> struct | 3.4583 ms/op | 2.4858 ms/op | 1.39 |
List(uint64Number) 100000 struct -> binary | 2.6557 ms/op | 1.8531 ms/op | 1.43 |
List(uint64Number) 100000 tree_backed -> binary | 1.3979 ms/op | 984.29 us/op | 1.42 |
List(Uint64Bigint) 100000 binary -> struct | 6.2582 ms/op | 4.3852 ms/op | 1.43 |
List(Uint64Bigint) 100000 binary -> tree_backed | 6.6213 ms/op | 4.7625 ms/op | 1.39 |
List(Uint64Bigint) 100000 struct -> tree_backed | 10.190 ms/op | 7.3484 ms/op | 1.39 |
List(Uint64Bigint) 100000 tree_backed -> struct | 8.0420 ms/op | 5.3521 ms/op | 1.50 |
List(Uint64Bigint) 100000 struct -> binary | 3.3869 ms/op | 2.6242 ms/op | 1.29 |
List(Uint64Bigint) 100000 tree_backed -> binary | 1.8618 ms/op | 1.1145 ms/op | 1.67 |
Vector(Root) 100000 binary -> struct | 66.632 ms/op | 44.966 ms/op | 1.48 |
Vector(Root) 100000 binary -> tree_backed | 66.641 ms/op | 40.250 ms/op | 1.66 |
Vector(Root) 100000 struct -> tree_backed | 79.442 ms/op | 54.779 ms/op | 1.45 |
Vector(Root) 100000 tree_backed -> struct | 89.798 ms/op | 63.515 ms/op | 1.41 |
Vector(Root) 100000 struct -> binary | 3.6154 ms/op | 2.4981 ms/op | 1.45 |
Vector(Root) 100000 tree_backed -> binary | 15.532 ms/op | 11.616 ms/op | 1.34 |
List(Validator) 100000 binary -> struct | 236.89 ms/op | 166.49 ms/op | 1.42 |
List(Validator) 100000 binary -> tree_backed | 604.52 ms/op | 428.96 ms/op | 1.41 |
List(Validator) 100000 struct -> tree_backed | 650.08 ms/op | 457.29 ms/op | 1.42 |
List(Validator) 100000 tree_backed -> struct | 373.38 ms/op | 258.03 ms/op | 1.45 |
List(Validator) 100000 struct -> binary | 56.156 ms/op | 40.355 ms/op | 1.39 |
List(Validator) 100000 tree_backed -> binary | 162.86 ms/op | 102.82 ms/op | 1.58 |
List(Validator-NS) 100000 binary -> struct | 237.87 ms/op | 164.91 ms/op | 1.44 |
List(Validator-NS) 100000 binary -> tree_backed | 321.41 ms/op | 222.85 ms/op | 1.44 |
List(Validator-NS) 100000 struct -> tree_backed | 407.49 ms/op | 282.11 ms/op | 1.44 |
List(Validator-NS) 100000 tree_backed -> struct | 330.63 ms/op | 230.87 ms/op | 1.43 |
List(Validator-NS) 100000 struct -> binary | 54.999 ms/op | 41.463 ms/op | 1.33 |
List(Validator-NS) 100000 tree_backed -> binary | 62.579 ms/op | 46.278 ms/op | 1.35 |
get epochStatuses - MutableVector | 175.11 us/op | 101.30 us/op | 1.73 |
get epochStatuses - ViewDU | 277.61 us/op | 289.27 us/op | 0.96 |
set epochStatuses - ListTreeView | 2.3128 ms/op | 1.8982 ms/op | 1.22 |
set epochStatuses - ListTreeView - set() | 632.26 us/op | 630.03 us/op | 1.00 |
set epochStatuses - ListTreeView - commit() | 668.50 us/op | 542.73 us/op | 1.23 |
bitstring | 882.91 ns/op | 919.27 ns/op | 0.96 |
bit mask | 17.268 ns/op | 14.492 ns/op | 1.19 |
struct - increase slot to 1000000 | 3.1244 ms/op | 2.0458 ms/op | 1.53 |
UintNumberType - increase slot to 1000000 | 49.886 ms/op | 36.613 ms/op | 1.36 |
UintBigintType - increase slot to 1000000 | 756.30 ms/op | 556.22 ms/op | 1.36 |
UintBigint8 x 100000 tree_deserialize | 9.9572 ms/op | 5.2805 ms/op | 1.89 |
UintBigint8 x 100000 tree_serialize | 2.1176 ms/op | 1.4640 ms/op | 1.45 |
UintBigint16 x 100000 tree_deserialize | 9.4194 ms/op | 4.7989 ms/op | 1.96 |
UintBigint16 x 100000 tree_serialize | 2.5664 ms/op | 1.5091 ms/op | 1.70 |
UintBigint32 x 100000 tree_deserialize | 10.807 ms/op | 6.9350 ms/op | 1.56 |
UintBigint32 x 100000 tree_serialize | 2.6861 ms/op | 1.5370 ms/op | 1.75 |
UintBigint64 x 100000 tree_deserialize | 12.101 ms/op | 7.0586 ms/op | 1.71 |
UintBigint64 x 100000 tree_serialize | 3.3708 ms/op | 2.0196 ms/op | 1.67 |
UintBigint8 x 100000 value_deserialize | 719.80 us/op | 532.70 us/op | 1.35 |
UintBigint8 x 100000 value_serialize | 1.9752 ms/op | 846.50 us/op | 2.33 |
UintBigint16 x 100000 value_deserialize | 718.12 us/op | 576.61 us/op | 1.25 |
UintBigint16 x 100000 value_serialize | 2.0809 ms/op | 891.22 us/op | 2.33 |
UintBigint32 x 100000 value_deserialize | 705.05 us/op | 542.46 us/op | 1.30 |
UintBigint32 x 100000 value_serialize | 2.1032 ms/op | 879.63 us/op | 2.39 |
UintBigint64 x 100000 value_deserialize | 773.72 us/op | 607.19 us/op | 1.27 |
UintBigint64 x 100000 value_serialize | 2.3993 ms/op | 1.1397 ms/op | 2.11 |
UintBigint8 x 100000 deserialize | 7.9516 ms/op | 6.1026 ms/op | 1.30 |
UintBigint8 x 100000 serialize | 2.9215 ms/op | 1.9457 ms/op | 1.50 |
UintBigint16 x 100000 deserialize | 7.8042 ms/op | 5.7358 ms/op | 1.36 |
UintBigint16 x 100000 serialize | 2.7138 ms/op | 1.9115 ms/op | 1.42 |
UintBigint32 x 100000 deserialize | 9.1487 ms/op | 6.8643 ms/op | 1.33 |
UintBigint32 x 100000 serialize | 4.6941 ms/op | 3.5807 ms/op | 1.31 |
UintBigint64 x 100000 deserialize | 5.8038 ms/op | 4.3538 ms/op | 1.33 |
UintBigint64 x 100000 serialize | 2.3675 ms/op | 1.9039 ms/op | 1.24 |
UintBigint128 x 100000 deserialize | 9.3893 ms/op | 7.1087 ms/op | 1.32 |
UintBigint128 x 100000 serialize | 34.030 ms/op | 21.164 ms/op | 1.61 |
UintBigint256 x 100000 deserialize | 17.978 ms/op | 13.027 ms/op | 1.38 |
UintBigint256 x 100000 serialize | 101.75 ms/op | 64.478 ms/op | 1.58 |
Slice from Uint8Array x25000 | 1.9893 ms/op | 1.2943 ms/op | 1.54 |
Slice from ArrayBuffer x25000 | 32.539 ms/op | 24.232 ms/op | 1.34 |
Slice from ArrayBuffer x25000 + new Uint8Array | 36.717 ms/op | 24.153 ms/op | 1.52 |
Copy Uint8Array 100000 iterate | 1.0904 ms/op | 1.0435 ms/op | 1.04 |
Copy Uint8Array 100000 slice | 345.81 us/op | 91.786 us/op | 3.77 |
Copy Uint8Array 100000 Uint8Array.prototype.slice.call | 404.10 us/op | 91.195 us/op | 4.43 |
Copy Buffer 100000 Uint8Array.prototype.slice.call | 383.41 us/op | 93.437 us/op | 4.10 |
Copy Uint8Array 100000 slice + set | 761.98 us/op | 195.46 us/op | 3.90 |
Copy Uint8Array 100000 subarray + set | 383.99 us/op | 92.575 us/op | 4.15 |
Copy Uint8Array 100000 slice arrayBuffer | 412.20 us/op | 92.861 us/op | 4.44 |
Uint64 deserialize 100000 - iterate Uint8Array | 2.6624 ms/op | 2.0233 ms/op | 1.32 |
Uint64 deserialize 100000 - by Uint32A | 2.4105 ms/op | 1.9153 ms/op | 1.26 |
Uint64 deserialize 100000 - by DataView.getUint32 x2 | 2.4377 ms/op | 1.9131 ms/op | 1.27 |
Uint64 deserialize 100000 - by DataView.getBigUint64 | 7.3927 ms/op | 5.7434 ms/op | 1.29 |
Uint64 deserialize 100000 - by byte | 75.580 ms/op | 72.365 ms/op | 1.04 |
by benchmarkbot/action
🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/as-sha256-v0.4.0 🌻 |
🤖 Release is at https://github.com/ChainSafe/ssz/releases/tag/ssz-v0.11.0 🌻 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 I have created a release beep boop
as-sha256: 0.4.0
0.4.0 (2023-04-05)
Features
persistent-merkle-tree: 0.6.0
0.6.0 (2023-04-05)
Features
Dependencies
ssz: 0.11.0
0.11.0 (2023-04-05)
Features
Dependencies
This PR was generated with Release Please. See documentation.