ChainSafe / ssz

Typescript implementation of Simple Serialize (SSZ)
https://simpleserialize.com/
Other
50 stars 19 forks source link

chore: migrate down to yarn 1 #374

Closed nazarhussain closed 4 months ago

nazarhussain commented 4 months ago

Motivation

To make consistent workflows among different repos and avoid using workspace:^ version hack for workspace packages.

Description

  1. Downgrade Yarn to version 1
  2. Add lerna to run tasks among all packages

Steps to test or reproduce

github-actions[bot] commented 4 months ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: 3dc3ce2b6eeb86c4419370875020a1e488c1c696 | Previous: 8d4d8bc9338e2f984dba5f7fb759ef6f4bb6610a | Ratio | |-|-|-|-| | digestTwoHashObjects 50023 times | 47.644 ms/op | 47.773 ms/op | 1.00 | | digest64 50023 times | 49.805 ms/op | 49.660 ms/op | 1.00 | | digest 50023 times | 52.264 ms/op | 51.773 ms/op | 1.01 | | input length 32 | 1.1610 us/op | 1.1760 us/op | 0.99 | | input length 64 | 1.3170 us/op | 1.3710 us/op | 0.96 | | input length 128 | 2.2660 us/op | 2.2630 us/op | 1.00 | | input length 256 | 3.5520 us/op | 3.3390 us/op | 1.06 | | input length 512 | 5.8440 us/op | 5.6040 us/op | 1.04 | | input length 1024 | 11.085 us/op | 10.915 us/op | 1.02 | | digest 1000000 times | 809.17 ms/op | 809.01 ms/op | 1.00 | | hashObjectToByteArray 50023 times | 1.4317 ms/op | 1.4667 ms/op | 0.98 | | byteArrayToHashObject 50023 times | 2.4171 ms/op | 2.5171 ms/op | 0.96 | | getGindicesAtDepth | 4.2850 us/op | 4.6320 us/op | 0.93 | | iterateAtDepth | 7.2720 us/op | 7.5050 us/op | 0.97 | | getGindexBits | 433.00 ns/op | 457.00 ns/op | 0.95 | | gindexIterator | 1.0050 us/op | 1.0140 us/op | 0.99 | | hash 2 Uint8Array 2250026 times - as-sha256 | 2.4141 s/op | 2.3313 s/op | 1.04 | | hashTwoObjects 2250026 times - as-sha256 | 2.2282 s/op | 2.2263 s/op | 1.00 | | hash 2 Uint8Array 2250026 times - noble | 5.1663 s/op | 4.9825 s/op | 1.04 | | hashTwoObjects 2250026 times - noble | 8.8873 s/op | 6.4880 s/op | 1.37 | | getNodeH() x7812.5 avg hindex | 12.919 us/op | 12.739 us/op | 1.01 | | getNodeH() x7812.5 index 0 | 6.6810 us/op | 6.4530 us/op | 1.04 | | getNodeH() x7812.5 index 7 | 6.7790 us/op | 6.4030 us/op | 1.06 | | getNodeH() x7812.5 index 7 with key array | 6.7460 us/op | 6.3520 us/op | 1.06 | | new LeafNode() x7812.5 | 15.235 us/op | 14.906 us/op | 1.02 | | multiproof - depth 15, 1 requested leaves | 16.413 us/op | 9.7580 us/op | 1.68 | | tree offset multiproof - depth 15, 1 requested leaves | 33.472 us/op | 20.100 us/op | 1.67 | | compact multiproof - depth 15, 1 requested leaves | 13.381 us/op | 5.2440 us/op | 2.55 | | multiproof - depth 15, 2 requested leaves | 20.114 us/op | 13.174 us/op | 1.53 | | tree offset multiproof - depth 15, 2 requested leaves | 36.673 us/op | 23.854 us/op | 1.54 | | compact multiproof - depth 15, 2 requested leaves | 6.3260 us/op | 4.3510 us/op | 1.45 | | multiproof - depth 15, 3 requested leaves | 21.166 us/op | 17.928 us/op | 1.18 | | tree offset multiproof - depth 15, 3 requested leaves | 35.232 us/op | 30.105 us/op | 1.17 | | compact multiproof - depth 15, 3 requested leaves | 6.4820 us/op | 6.6300 us/op | 0.98 | | multiproof - depth 15, 4 requested leaves | 25.589 us/op | 23.626 us/op | 1.08 | | tree offset multiproof - depth 15, 4 requested leaves | 40.598 us/op | 34.775 us/op | 1.17 | | compact multiproof - depth 15, 4 requested leaves | 7.0820 us/op | 5.2940 us/op | 1.34 | | packedRootsBytesToLeafNodes bytes 4000 offset 0 | 2.0610 us/op | 2.0630 us/op | 1.00 | | packedRootsBytesToLeafNodes bytes 4000 offset 1 | 2.0680 us/op | 2.0570 us/op | 1.01 | | packedRootsBytesToLeafNodes bytes 4000 offset 2 | 2.0590 us/op | 2.0480 us/op | 1.01 | | packedRootsBytesToLeafNodes bytes 4000 offset 3 | 1.7920 us/op | 2.0700 us/op | 0.87 | | subtreeFillToContents depth 40 count 250000 | 45.599 ms/op | 46.339 ms/op | 0.98 | | setRoot - gindexBitstring | 9.1635 ms/op | 8.1459 ms/op | 1.12 | | setRoot - gindex | 10.078 ms/op | 8.5913 ms/op | 1.17 | | getRoot - gindexBitstring | 2.7686 ms/op | 2.5071 ms/op | 1.10 | | getRoot - gindex | 3.6660 ms/op | 3.2993 ms/op | 1.11 | | getHashObject then setHashObject | 11.645 ms/op | 10.132 ms/op | 1.15 | | setNodeWithFn | 9.3628 ms/op | 7.8796 ms/op | 1.19 | | getNodeAtDepth depth 0 x100000 | 1.0879 ms/op | 1.1124 ms/op | 0.98 | | setNodeAtDepth depth 0 x100000 | 2.7983 ms/op | 2.3156 ms/op | 1.21 | | getNodesAtDepth depth 0 x100000 | 1.0530 ms/op | 1.0581 ms/op | 1.00 | | setNodesAtDepth depth 0 x100000 | 1.4259 ms/op | 1.4541 ms/op | 0.98 | | getNodeAtDepth depth 1 x100000 | 1.1445 ms/op | 1.1461 ms/op | 1.00 | | setNodeAtDepth depth 1 x100000 | 5.9861 ms/op | 5.0628 ms/op | 1.18 | | getNodesAtDepth depth 1 x100000 | 1.1783 ms/op | 1.1774 ms/op | 1.00 | | setNodesAtDepth depth 1 x100000 | 4.7704 ms/op | 4.3001 ms/op | 1.11 | | getNodeAtDepth depth 2 x100000 | 1.4474 ms/op | 1.4279 ms/op | 1.01 | | setNodeAtDepth depth 2 x100000 | 9.9145 ms/op | 8.8283 ms/op | 1.12 | | getNodesAtDepth depth 2 x100000 | 19.276 ms/op | 17.245 ms/op | 1.12 | | setNodesAtDepth depth 2 x100000 | 13.673 ms/op | 12.456 ms/op | 1.10 | | tree.getNodesAtDepth - gindexes | 7.8569 ms/op | 8.1048 ms/op | 0.97 | | tree.getNodesAtDepth - push all nodes | 1.9101 ms/op | 1.8703 ms/op | 1.02 | | tree.getNodesAtDepth - navigation | 234.36 us/op | 232.45 us/op | 1.01 | | tree.setNodesAtDepth - indexes | 359.98 us/op | 309.58 us/op | 1.16 | | set at depth 8 | 453.00 ns/op | 447.00 ns/op | 1.01 | | set at depth 16 | 600.00 ns/op | 594.00 ns/op | 1.01 | | set at depth 32 | 934.00 ns/op | 927.00 ns/op | 1.01 | | iterateNodesAtDepth 8 256 | 13.163 us/op | 13.331 us/op | 0.99 | | getNodesAtDepth 8 256 | 3.3880 us/op | 3.3650 us/op | 1.01 | | iterateNodesAtDepth 16 65536 | 4.1746 ms/op | 4.2477 ms/op | 0.98 | | getNodesAtDepth 16 65536 | 1.5811 ms/op | 1.5567 ms/op | 1.02 | | iterateNodesAtDepth 32 250000 | 15.502 ms/op | 15.536 ms/op | 1.00 | | getNodesAtDepth 32 250000 | 4.2966 ms/op | 4.2736 ms/op | 1.01 | | iterateNodesAtDepth 40 250000 | 15.404 ms/op | 15.799 ms/op | 0.97 | | getNodesAtDepth 40 250000 | 4.3029 ms/op | 4.3486 ms/op | 0.99 | | 250k validators | 7.2039 s/op | 6.9815 s/op | 1.03 | | bitlist bytes to struct (120,90) | 478.00 ns/op | 500.00 ns/op | 0.96 | | bitlist bytes to tree (120,90) | 2.1600 us/op | 2.1400 us/op | 1.01 | | bitlist bytes to struct (2048,2048) | 929.00 ns/op | 928.00 ns/op | 1.00 | | bitlist bytes to tree (2048,2048) | 3.2990 us/op | 3.3000 us/op | 1.00 | | ByteListType - deserialize | 7.3667 ms/op | 7.8080 ms/op | 0.94 | | BasicListType - deserialize | 11.728 ms/op | 11.789 ms/op | 0.99 | | ByteListType - serialize | 7.9508 ms/op | 7.7984 ms/op | 1.02 | | BasicListType - serialize | 9.5155 ms/op | 9.9343 ms/op | 0.96 | | BasicListType - tree_convertToStruct | 22.436 ms/op | 22.233 ms/op | 1.01 | | List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate | 4.3026 ms/op | 4.3121 ms/op | 1.00 | | List[uint8, 68719476736] len 300000 ViewDU.get(i) | 3.9596 ms/op | 2.7664 ms/op | 1.43 | | Array.push len 300000 empty Array - number | 6.0523 ms/op | 6.2870 ms/op | 0.96 | | Array.set len 300000 from new Array - number | 1.8317 ms/op | 1.7726 ms/op | 1.03 | | Array.set len 300000 - number | 5.6794 ms/op | 5.2782 ms/op | 1.08 | | Uint8Array.set len 300000 | 374.80 us/op | 378.14 us/op | 0.99 | | Uint32Array.set len 300000 | 443.92 us/op | 442.24 us/op | 1.00 | | Container({a: uint8, b: uint8}) getViewDU x300000 | 49.574 ms/op | 46.554 ms/op | 1.06 | | ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 | 10.749 ms/op | 10.693 ms/op | 1.01 | | List(Container) len 300000 ViewDU.getAllReadonly() + iterate | 191.93 ms/op | 208.94 ms/op | 0.92 | | List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate | 260.38 ms/op | 239.85 ms/op | 1.09 | | List(Container) len 300000 ViewDU.get(i) | 6.3099 ms/op | 6.6768 ms/op | 0.95 | | List(Container) len 300000 ViewDU.getReadonly(i) | 6.1553 ms/op | 6.3562 ms/op | 0.97 | | List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate | 37.555 ms/op | 34.209 ms/op | 1.10 | | List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate | 5.4425 ms/op | 5.2633 ms/op | 1.03 | | List(ContainerNodeStruct) len 300000 ViewDU.get(i) | 5.9636 ms/op | 6.0299 ms/op | 0.99 | | List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) | 5.7646 ms/op | 5.9996 ms/op | 0.96 | | Array.push len 300000 empty Array - object | 5.7334 ms/op | 6.3701 ms/op | 0.90 | | Array.set len 300000 from new Array - object | 2.2241 ms/op | 2.3086 ms/op | 0.96 | | Array.set len 300000 - object | 5.6359 ms/op | 6.2372 ms/op | 0.90 | | cachePermanentRootStruct no cache | 8.6310 us/op | 8.4270 us/op | 1.02 | | cachePermanentRootStruct with cache | 194.00 ns/op | 199.00 ns/op | 0.97 | | epochParticipation len 250000 rws 7813 | 2.1009 ms/op | 2.2328 ms/op | 0.94 | | deserialize Attestation - tree | 4.1150 us/op | 3.5910 us/op | 1.15 | | deserialize Attestation - struct | 1.8550 us/op | 1.7110 us/op | 1.08 | | deserialize SignedAggregateAndProof - tree | 3.6080 us/op | 3.5930 us/op | 1.00 | | deserialize SignedAggregateAndProof - struct | 3.0020 us/op | 2.8260 us/op | 1.06 | | deserialize SyncCommitteeMessage - tree | 1.0270 us/op | 1.0800 us/op | 0.95 | | deserialize SyncCommitteeMessage - struct | 1.0640 us/op | 1.0360 us/op | 1.03 | | deserialize SignedContributionAndProof - tree | 1.9610 us/op | 1.9390 us/op | 1.01 | | deserialize SignedContributionAndProof - struct | 2.2470 us/op | 2.2280 us/op | 1.01 | | deserialize SignedBeaconBlock - tree | 206.89 us/op | 207.47 us/op | 1.00 | | deserialize SignedBeaconBlock - struct | 118.00 us/op | 111.35 us/op | 1.06 | | BeaconState vc 300000 - deserialize tree | 535.45 ms/op | 551.71 ms/op | 0.97 | | BeaconState vc 300000 - serialize tree | 120.89 ms/op | 140.95 ms/op | 0.86 | | BeaconState.historicalRoots vc 300000 - deserialize tree | 722.00 ns/op | 743.00 ns/op | 0.97 | | BeaconState.historicalRoots vc 300000 - serialize tree | 628.00 ns/op | 642.00 ns/op | 0.98 | | BeaconState.validators vc 300000 - deserialize tree | 491.85 ms/op | 514.09 ms/op | 0.96 | | BeaconState.validators vc 300000 - serialize tree | 94.776 ms/op | 98.851 ms/op | 0.96 | | BeaconState.balances vc 300000 - deserialize tree | 19.927 ms/op | 19.515 ms/op | 1.02 | | BeaconState.balances vc 300000 - serialize tree | 3.5870 ms/op | 3.7918 ms/op | 0.95 | | BeaconState.previousEpochParticipation vc 300000 - deserialize tree | 423.25 us/op | 506.21 us/op | 0.84 | | BeaconState.previousEpochParticipation vc 300000 - serialize tree | 284.23 us/op | 286.04 us/op | 0.99 | | BeaconState.currentEpochParticipation vc 300000 - deserialize tree | 442.46 us/op | 441.13 us/op | 1.00 | | BeaconState.currentEpochParticipation vc 300000 - serialize tree | 284.10 us/op | 285.34 us/op | 1.00 | | BeaconState.inactivityScores vc 300000 - deserialize tree | 20.426 ms/op | 21.054 ms/op | 0.97 | | BeaconState.inactivityScores vc 300000 - serialize tree | 3.2153 ms/op | 4.1718 ms/op | 0.77 | | hashTreeRoot Attestation - struct | 31.079 us/op | 33.182 us/op | 0.94 | | hashTreeRoot Attestation - tree | 20.638 us/op | 19.836 us/op | 1.04 | | hashTreeRoot SignedAggregateAndProof - struct | 40.282 us/op | 42.471 us/op | 0.95 | | hashTreeRoot SignedAggregateAndProof - tree | 27.141 us/op | 30.089 us/op | 0.90 | | hashTreeRoot SyncCommitteeMessage - struct | 9.7490 us/op | 10.113 us/op | 0.96 | | hashTreeRoot SyncCommitteeMessage - tree | 6.5350 us/op | 6.2000 us/op | 1.05 | | hashTreeRoot SignedContributionAndProof - struct | 25.490 us/op | 25.431 us/op | 1.00 | | hashTreeRoot SignedContributionAndProof - tree | 20.357 us/op | 18.709 us/op | 1.09 | | hashTreeRoot SignedBeaconBlock - struct | 2.2727 ms/op | 2.2396 ms/op | 1.01 | | hashTreeRoot SignedBeaconBlock - tree | 1.6672 ms/op | 1.6947 ms/op | 0.98 | | hashTreeRoot Validator - struct | 12.238 us/op | 12.376 us/op | 0.99 | | hashTreeRoot Validator - tree | 10.459 us/op | 11.031 us/op | 0.95 | | BeaconState vc 300000 - hashTreeRoot tree | 3.5330 s/op | 3.5774 s/op | 0.99 | | BeaconState.historicalRoots vc 300000 - hashTreeRoot tree | 1.3220 us/op | 1.3150 us/op | 1.01 | | BeaconState.validators vc 300000 - hashTreeRoot tree | 3.3593 s/op | 3.4260 s/op | 0.98 | | BeaconState.balances vc 300000 - hashTreeRoot tree | 85.583 ms/op | 87.444 ms/op | 0.98 | | BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree | 9.0183 ms/op | 9.0287 ms/op | 1.00 | | BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree | 9.0117 ms/op | 9.0168 ms/op | 1.00 | | BeaconState.inactivityScores vc 300000 - hashTreeRoot tree | 82.604 ms/op | 83.952 ms/op | 0.98 | | hash64 x18 | 18.940 us/op | 18.874 us/op | 1.00 | | hashTwoObjects x18 | 17.803 us/op | 17.843 us/op | 1.00 | | hash64 x1740 | 1.8122 ms/op | 1.7963 ms/op | 1.01 | | hashTwoObjects x1740 | 1.6834 ms/op | 1.7185 ms/op | 0.98 | | hash64 x2700000 | 2.7785 s/op | 2.7907 s/op | 1.00 | | hashTwoObjects x2700000 | 2.6450 s/op | 2.6471 s/op | 1.00 | | get_exitEpoch - ContainerType | 185.00 ns/op | 201.00 ns/op | 0.92 | | get_exitEpoch - ContainerNodeStructType | 180.00 ns/op | 184.00 ns/op | 0.98 | | set_exitEpoch - ContainerType | 211.00 ns/op | 217.00 ns/op | 0.97 | | set_exitEpoch - ContainerNodeStructType | 191.00 ns/op | 212.00 ns/op | 0.90 | | get_pubkey - ContainerType | 822.00 ns/op | 845.00 ns/op | 0.97 | | get_pubkey - ContainerNodeStructType | 190.00 ns/op | 206.00 ns/op | 0.92 | | hashTreeRoot - ContainerType | 330.00 ns/op | 350.00 ns/op | 0.94 | | hashTreeRoot - ContainerNodeStructType | 390.00 ns/op | 392.00 ns/op | 0.99 | | createProof - ContainerType | 3.7510 us/op | 3.7680 us/op | 1.00 | | createProof - ContainerNodeStructType | 19.452 us/op | 20.490 us/op | 0.95 | | serialize - ContainerType | 1.6250 us/op | 1.7590 us/op | 0.92 | | serialize - ContainerNodeStructType | 1.3530 us/op | 1.4520 us/op | 0.93 | | set_exitEpoch_and_hashTreeRoot - ContainerType | 4.0270 us/op | 4.1750 us/op | 0.96 | | set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType | 10.879 us/op | 11.235 us/op | 0.97 | | Array - for of | 11.318 us/op | 6.0150 us/op | 1.88 | | Array - for(;;) | 11.129 us/op | 5.8110 us/op | 1.92 | | basicListValue.readonlyValuesArray() | 4.0169 ms/op | 3.9484 ms/op | 1.02 | | basicListValue.readonlyValuesArray() + loop all | 4.0843 ms/op | 4.1064 ms/op | 0.99 | | compositeListValue.readonlyValuesArray() | 28.894 ms/op | 29.505 ms/op | 0.98 | | compositeListValue.readonlyValuesArray() + loop all | 27.268 ms/op | 29.349 ms/op | 0.93 | | Number64UintType - get balances list | 4.2773 ms/op | 2.1468 ms/op | 1.99 | | Number64UintType - set balances list | 9.5985 ms/op | 9.4168 ms/op | 1.02 | | Number64UintType - get and increase 10 then set | 38.855 ms/op | 33.464 ms/op | 1.16 | | Number64UintType - increase 10 using applyDelta | 14.723 ms/op | 13.461 ms/op | 1.09 | | Number64UintType - increase 10 using applyDeltaInBatch | 14.767 ms/op | 13.431 ms/op | 1.10 | | tree_newTreeFromUint64Deltas | 15.763 ms/op | 16.584 ms/op | 0.95 | | unsafeUint8ArrayToTree | 26.064 ms/op | 25.323 ms/op | 1.03 | | bitLength(50) | 206.00 ns/op | 212.00 ns/op | 0.97 | | bitLengthStr(50) | 206.00 ns/op | 208.00 ns/op | 0.99 | | bitLength(8000) | 199.00 ns/op | 206.00 ns/op | 0.97 | | bitLengthStr(8000) | 253.00 ns/op | 252.00 ns/op | 1.00 | | bitLength(250000) | 201.00 ns/op | 211.00 ns/op | 0.95 | | bitLengthStr(250000) | 290.00 ns/op | 292.00 ns/op | 0.99 | | floor - Math.floor (53) | 1.2369 ns/op | 1.2482 ns/op | 0.99 | | floor - << 0 (53) | 1.2364 ns/op | 1.2375 ns/op | 1.00 | | floor - Math.floor (512) | 1.2476 ns/op | 1.2388 ns/op | 1.01 | | floor - << 0 (512) | 1.2360 ns/op | 1.2375 ns/op | 1.00 | | fnIf(0) | 1.5585 ns/op | 1.5521 ns/op | 1.00 | | fnSwitch(0) | 2.1661 ns/op | 2.1715 ns/op | 1.00 | | fnObj(0) | 1.5466 ns/op | 1.5466 ns/op | 1.00 | | fnArr(0) | 1.5495 ns/op | 1.5462 ns/op | 1.00 | | fnIf(4) | 2.1676 ns/op | 2.1643 ns/op | 1.00 | | fnSwitch(4) | 2.1650 ns/op | 2.1663 ns/op | 1.00 | | fnObj(4) | 1.5475 ns/op | 1.5486 ns/op | 1.00 | | fnArr(4) | 1.5458 ns/op | 1.5522 ns/op | 1.00 | | fnIf(9) | 3.0950 ns/op | 3.0961 ns/op | 1.00 | | fnSwitch(9) | 2.1655 ns/op | 2.1659 ns/op | 1.00 | | fnObj(9) | 1.5480 ns/op | 1.5468 ns/op | 1.00 | | fnArr(9) | 1.5522 ns/op | 1.5470 ns/op | 1.00 | | Container {a,b,vec} - as struct x100000 | 123.82 us/op | 123.89 us/op | 1.00 | | Container {a,b,vec} - as tree x100000 | 340.54 us/op | 341.09 us/op | 1.00 | | Container {a,vec,b} - as struct x100000 | 154.68 us/op | 154.93 us/op | 1.00 | | Container {a,vec,b} - as tree x100000 | 371.16 us/op | 375.94 us/op | 0.99 | | get 2 props x1000000 - rawObject | 309.37 us/op | 309.59 us/op | 1.00 | | get 2 props x1000000 - proxy | 72.729 ms/op | 74.097 ms/op | 0.98 | | get 2 props x1000000 - customObj | 309.72 us/op | 309.53 us/op | 1.00 | | Simple object binary -> struct | 528.00 ns/op | 565.00 ns/op | 0.93 | | Simple object binary -> tree_backed | 965.00 ns/op | 978.00 ns/op | 0.99 | | Simple object struct -> tree_backed | 1.4340 us/op | 1.5260 us/op | 0.94 | | Simple object tree_backed -> struct | 1.4810 us/op | 1.5320 us/op | 0.97 | | Simple object struct -> binary | 829.00 ns/op | 838.00 ns/op | 0.99 | | Simple object tree_backed -> binary | 1.2320 us/op | 1.2500 us/op | 0.99 | | aggregationBits binary -> struct | 445.00 ns/op | 442.00 ns/op | 1.01 | | aggregationBits binary -> tree_backed | 1.8610 us/op | 2.0090 us/op | 0.93 | | aggregationBits struct -> tree_backed | 2.1960 us/op | 2.3750 us/op | 0.92 | | aggregationBits tree_backed -> struct | 931.00 ns/op | 1000.0 ns/op | 0.93 | | aggregationBits struct -> binary | 657.00 ns/op | 684.00 ns/op | 0.96 | | aggregationBits tree_backed -> binary | 816.00 ns/op | 873.00 ns/op | 0.93 | | List(uint8) 100000 binary -> struct | 1.2980 ms/op | 1.2185 ms/op | 1.07 | | List(uint8) 100000 binary -> tree_backed | 84.523 us/op | 82.674 us/op | 1.02 | | List(uint8) 100000 struct -> tree_backed | 1.0950 ms/op | 1.1133 ms/op | 0.98 | | List(uint8) 100000 tree_backed -> struct | 965.86 us/op | 992.37 us/op | 0.97 | | List(uint8) 100000 struct -> binary | 1.0081 ms/op | 988.22 us/op | 1.02 | | List(uint8) 100000 tree_backed -> binary | 84.414 us/op | 89.649 us/op | 0.94 | | List(uint64Number) 100000 binary -> struct | 1.1913 ms/op | 1.2122 ms/op | 0.98 | | List(uint64Number) 100000 binary -> tree_backed | 2.8802 ms/op | 3.0406 ms/op | 0.95 | | List(uint64Number) 100000 struct -> tree_backed | 4.3242 ms/op | 4.3605 ms/op | 0.99 | | List(uint64Number) 100000 tree_backed -> struct | 2.1081 ms/op | 2.1387 ms/op | 0.99 | | List(uint64Number) 100000 struct -> binary | 1.3298 ms/op | 1.3538 ms/op | 0.98 | | List(uint64Number) 100000 tree_backed -> binary | 861.48 us/op | 837.32 us/op | 1.03 | | List(Uint64Bigint) 100000 binary -> struct | 3.4627 ms/op | 3.6812 ms/op | 0.94 | | List(Uint64Bigint) 100000 binary -> tree_backed | 2.4408 ms/op | 3.1574 ms/op | 0.77 | | List(Uint64Bigint) 100000 struct -> tree_backed | 4.7058 ms/op | 5.2455 ms/op | 0.90 | | List(Uint64Bigint) 100000 tree_backed -> struct | 4.1802 ms/op | 4.4985 ms/op | 0.93 | | List(Uint64Bigint) 100000 struct -> binary | 2.0585 ms/op | 2.0390 ms/op | 1.01 | | List(Uint64Bigint) 100000 tree_backed -> binary | 867.36 us/op | 940.52 us/op | 0.92 | | Vector(Root) 100000 binary -> struct | 27.111 ms/op | 27.733 ms/op | 0.98 | | Vector(Root) 100000 binary -> tree_backed | 24.006 ms/op | 25.156 ms/op | 0.95 | | Vector(Root) 100000 struct -> tree_backed | 35.323 ms/op | 33.989 ms/op | 1.04 | | Vector(Root) 100000 tree_backed -> struct | 42.132 ms/op | 41.075 ms/op | 1.03 | | Vector(Root) 100000 struct -> binary | 2.5116 ms/op | 2.5316 ms/op | 0.99 | | Vector(Root) 100000 tree_backed -> binary | 8.5296 ms/op | 8.5797 ms/op | 0.99 | | List(Validator) 100000 binary -> struct | 99.842 ms/op | 99.007 ms/op | 1.01 | | List(Validator) 100000 binary -> tree_backed | 267.55 ms/op | 250.17 ms/op | 1.07 | | List(Validator) 100000 struct -> tree_backed | 273.80 ms/op | 280.63 ms/op | 0.98 | | List(Validator) 100000 tree_backed -> struct | 186.07 ms/op | 180.19 ms/op | 1.03 | | List(Validator) 100000 struct -> binary | 26.399 ms/op | 26.744 ms/op | 0.99 | | List(Validator) 100000 tree_backed -> binary | 97.737 ms/op | 99.148 ms/op | 0.99 | | List(Validator-NS) 100000 binary -> struct | 96.827 ms/op | 95.470 ms/op | 1.01 | | List(Validator-NS) 100000 binary -> tree_backed | 123.99 ms/op | 135.30 ms/op | 0.92 | | List(Validator-NS) 100000 struct -> tree_backed | 166.00 ms/op | 162.21 ms/op | 1.02 | | List(Validator-NS) 100000 tree_backed -> struct | 139.57 ms/op | 143.62 ms/op | 0.97 | | List(Validator-NS) 100000 struct -> binary | 26.381 ms/op | 26.672 ms/op | 0.99 | | List(Validator-NS) 100000 tree_backed -> binary | 31.640 ms/op | 32.184 ms/op | 0.98 | | get epochStatuses - MutableVector | 95.445 us/op | 95.042 us/op | 1.00 | | get epochStatuses - ViewDU | 201.57 us/op | 179.95 us/op | 1.12 | | set epochStatuses - ListTreeView | 1.3848 ms/op | 1.4606 ms/op | 0.95 | | set epochStatuses - ListTreeView - set() | 447.59 us/op | 463.30 us/op | 0.97 | | set epochStatuses - ListTreeView - commit() | 408.03 us/op | 414.90 us/op | 0.98 | | bitstring | 647.46 ns/op | 639.92 ns/op | 1.01 | | bit mask | 13.681 ns/op | 14.208 ns/op | 0.96 | | struct - increase slot to 1000000 | 937.32 us/op | 928.14 us/op | 1.01 | | UintNumberType - increase slot to 1000000 | 21.679 ms/op | 28.800 ms/op | 0.75 | | UintBigintType - increase slot to 1000000 | 155.09 ms/op | 151.82 ms/op | 1.02 | | UintBigint8 x 100000 tree_deserialize | 4.4944 ms/op | 4.4972 ms/op | 1.00 | | UintBigint8 x 100000 tree_serialize | 1.1849 ms/op | 537.21 us/op | 2.21 | | UintBigint16 x 100000 tree_deserialize | 4.3576 ms/op | 4.7434 ms/op | 0.92 | | UintBigint16 x 100000 tree_serialize | 1.1194 ms/op | 604.46 us/op | 1.85 | | UintBigint32 x 100000 tree_deserialize | 4.3568 ms/op | 4.5184 ms/op | 0.96 | | UintBigint32 x 100000 tree_serialize | 1.1198 ms/op | 626.01 us/op | 1.79 | | UintBigint64 x 100000 tree_deserialize | 5.0587 ms/op | 5.8569 ms/op | 0.86 | | UintBigint64 x 100000 tree_serialize | 1.4838 ms/op | 1.4376 ms/op | 1.03 | | UintBigint8 x 100000 value_deserialize | 435.27 us/op | 433.05 us/op | 1.01 | | UintBigint8 x 100000 value_serialize | 562.11 us/op | 735.14 us/op | 0.76 | | UintBigint16 x 100000 value_deserialize | 463.63 us/op | 467.95 us/op | 0.99 | | UintBigint16 x 100000 value_serialize | 625.58 us/op | 795.20 us/op | 0.79 | | UintBigint32 x 100000 value_deserialize | 433.84 us/op | 440.02 us/op | 0.99 | | UintBigint32 x 100000 value_serialize | 596.42 us/op | 752.94 us/op | 0.79 | | UintBigint64 x 100000 value_deserialize | 495.71 us/op | 495.83 us/op | 1.00 | | UintBigint64 x 100000 value_serialize | 759.59 us/op | 933.31 us/op | 0.81 | | UintBigint8 x 100000 deserialize | 2.7540 ms/op | 2.9786 ms/op | 0.92 | | UintBigint8 x 100000 serialize | 1.4336 ms/op | 1.5797 ms/op | 0.91 | | UintBigint16 x 100000 deserialize | 2.8078 ms/op | 3.0611 ms/op | 0.92 | | UintBigint16 x 100000 serialize | 1.5210 ms/op | 1.4322 ms/op | 1.06 | | UintBigint32 x 100000 deserialize | 2.8234 ms/op | 3.1138 ms/op | 0.91 | | UintBigint32 x 100000 serialize | 2.7420 ms/op | 2.6952 ms/op | 1.02 | | UintBigint64 x 100000 deserialize | 3.7893 ms/op | 3.6977 ms/op | 1.02 | | UintBigint64 x 100000 serialize | 1.4927 ms/op | 1.4904 ms/op | 1.00 | | UintBigint128 x 100000 deserialize | 4.8567 ms/op | 4.9376 ms/op | 0.98 | | UintBigint128 x 100000 serialize | 13.798 ms/op | 14.178 ms/op | 0.97 | | UintBigint256 x 100000 deserialize | 7.6080 ms/op | 7.9162 ms/op | 0.96 | | UintBigint256 x 100000 serialize | 42.042 ms/op | 42.392 ms/op | 0.99 | | Slice from Uint8Array x25000 | 1.0689 ms/op | 1.1202 ms/op | 0.95 | | Slice from ArrayBuffer x25000 | 14.771 ms/op | 16.236 ms/op | 0.91 | | Slice from ArrayBuffer x25000 + new Uint8Array | 15.330 ms/op | 16.025 ms/op | 0.96 | | Copy Uint8Array 100000 iterate | 1.8224 ms/op | 1.6745 ms/op | 1.09 | | Copy Uint8Array 100000 slice | 152.45 us/op | 103.09 us/op | 1.48 | | Copy Uint8Array 100000 Uint8Array.prototype.slice.call | 169.69 us/op | 103.67 us/op | 1.64 | | Copy Buffer 100000 Uint8Array.prototype.slice.call | 164.23 us/op | 103.09 us/op | 1.59 | | Copy Uint8Array 100000 slice + set | 300.56 us/op | 192.10 us/op | 1.56 | | Copy Uint8Array 100000 subarray + set | 159.48 us/op | 103.08 us/op | 1.55 | | Copy Uint8Array 100000 slice arrayBuffer | 155.99 us/op | 103.70 us/op | 1.50 | | Uint64 deserialize 100000 - iterate Uint8Array | 1.6662 ms/op | 1.7927 ms/op | 0.93 | | Uint64 deserialize 100000 - by Uint32A | 1.6720 ms/op | 1.8423 ms/op | 0.91 | | Uint64 deserialize 100000 - by DataView.getUint32 x2 | 1.6837 ms/op | 1.8297 ms/op | 0.92 | | Uint64 deserialize 100000 - by DataView.getBigUint64 | 4.7277 ms/op | 4.9558 ms/op | 0.95 | | Uint64 deserialize 100000 - by byte | 39.973 ms/op | 40.154 ms/op | 1.00 |

by benchmarkbot/action