Skip to content

Commit

Permalink
chore: release master (#337)
Browse files Browse the repository at this point in the history
  • Loading branch information
wemeetagain authored Oct 9, 2023
1 parent 5c5242a commit 93ab30e
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"packages/as-sha256": "0.4.1",
"packages/persistent-merkle-tree": "0.6.1",
"packages/persistent-ts": "0.19.1",
"packages/ssz": "0.13.0"
"packages/ssz": "0.14.0"
}
12 changes: 12 additions & 0 deletions packages/ssz/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,18 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
* dependencies
* @chainsafe/persistent-merkle-tree bumped from ^0.4.2 to ^0.5.0

## [0.14.0](https://github.com/ChainSafe/ssz/compare/ssz-v0.13.0...ssz-v0.14.0) (2023-10-04)


### Features

* implement sliceTo() for ListBasicTreeViewDU ([#336](https://github.com/ChainSafe/ssz/issues/336)) ([e84686b](https://github.com/ChainSafe/ssz/commit/e84686b2192fee9e5d9413d55a57cf40af6fd3ef))


### Bug Fixes

* handle setBitOr in ListBasicTreeViewDU.sliceTo() ([#338](https://github.com/ChainSafe/ssz/issues/338)) ([5c5242a](https://github.com/ChainSafe/ssz/commit/5c5242a3bb5d89f8c51d5cb14112dd36edc91868))

## [0.13.0](https://github.com/ChainSafe/ssz/compare/ssz-v0.12.0...ssz-v0.13.0) (2023-09-14)


Expand Down
2 changes: 1 addition & 1 deletion packages/ssz/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"license": "Apache-2.0",
"author": "ChainSafe Systems",
"homepage": "https://github.com/chainsafe/ssz",
"version": "0.13.0",
"version": "0.14.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand Down

1 comment on commit 93ab30e

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 93ab30e Previous: 5c5242a Ratio
getNodeH() x7812.5 avg hindex 1.2769 ms/op 20.801 us/op 61.39
Container({a: uint8, b: uint8}) getViewDU x300000 99.369 ms/op 31.758 ms/op 3.13
Number64UintType - get balances list 7.2311 ms/op 1.5781 ms/op 4.58

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 93ab30e Previous: 5c5242a Ratio
get_exitEpoch - ContainerType 567.00 ns/op 4.6050 us/op 0.12
Full benchmark results
Benchmark suite Current: 93ab30e Previous: 5c5242a Ratio
digestTwoHashObjects 50023 times 77.736 ms/op 69.998 ms/op 1.11
digest64 50023 times 80.273 ms/op 72.038 ms/op 1.11
digest 50023 times 80.084 ms/op 72.015 ms/op 1.11
input length 32 1.8860 us/op 1.6140 us/op 1.17
input length 64 2.0890 us/op 1.8430 us/op 1.13
input length 128 3.5690 us/op 3.1970 us/op 1.12
input length 256 5.3480 us/op 4.8910 us/op 1.09
input length 512 8.7080 us/op 8.1580 us/op 1.07
input length 1024 17.761 us/op 15.934 us/op 1.11
digest 1000000 times 1.3646 s/op 1.1814 s/op 1.16
hashObjectToByteArray 50023 times 2.7661 ms/op 1.9987 ms/op 1.38
byteArrayToHashObject 50023 times 3.6089 ms/op 2.1754 ms/op 1.66
getGindicesAtDepth 7.1790 us/op 5.4580 us/op 1.32
iterateAtDepth 15.508 us/op 11.594 us/op 1.34
getGindexBits 690.00 ns/op 581.00 ns/op 1.19
gindexIterator 1.4860 us/op 1.3840 us/op 1.07
hash 2 Uint8Array 2250026 times - as-sha256 3.5565 s/op 3.2153 s/op 1.11
hashTwoObjects 2250026 times - as-sha256 3.3333 s/op 3.1043 s/op 1.07
hash 2 Uint8Array 2250026 times - noble 9.8489 s/op 9.2133 s/op 1.07
hashTwoObjects 2250026 times - noble 12.543 s/op 11.708 s/op 1.07
getNodeH() x7812.5 avg hindex 1.2769 ms/op 20.801 us/op 61.39
getNodeH() x7812.5 index 0 9.1970 us/op 6.7240 us/op 1.37
getNodeH() x7812.5 index 7 8.1920 us/op 6.7570 us/op 1.21
getNodeH() x7812.5 index 7 with key array 8.1540 us/op 6.8690 us/op 1.19
new LeafNode() x7812.5 366.90 us/op 301.91 us/op 1.22
multiproof - depth 15, 1 requested leaves 17.320 us/op 15.161 us/op 1.14
tree offset multiproof - depth 15, 1 requested leaves 38.051 us/op 32.793 us/op 1.16
compact multiproof - depth 15, 1 requested leaves 10.558 us/op 8.1070 us/op 1.30
multiproof - depth 15, 2 requested leaves 23.424 us/op 19.026 us/op 1.23
tree offset multiproof - depth 15, 2 requested leaves 41.192 us/op 34.653 us/op 1.19
compact multiproof - depth 15, 2 requested leaves 6.4190 us/op 4.6750 us/op 1.37
multiproof - depth 15, 3 requested leaves 31.687 us/op 25.859 us/op 1.23
tree offset multiproof - depth 15, 3 requested leaves 57.318 us/op 44.358 us/op 1.29
compact multiproof - depth 15, 3 requested leaves 10.429 us/op 8.2450 us/op 1.26
multiproof - depth 15, 4 requested leaves 43.026 us/op 34.111 us/op 1.26
tree offset multiproof - depth 15, 4 requested leaves 69.698 us/op 54.941 us/op 1.27
compact multiproof - depth 15, 4 requested leaves 12.176 us/op 9.0750 us/op 1.34
packedRootsBytesToLeafNodes bytes 4000 offset 0 3.9110 us/op 3.0570 us/op 1.28
packedRootsBytesToLeafNodes bytes 4000 offset 1 3.8410 us/op 2.9430 us/op 1.31
packedRootsBytesToLeafNodes bytes 4000 offset 2 3.9350 us/op 2.9940 us/op 1.31
packedRootsBytesToLeafNodes bytes 4000 offset 3 4.0590 us/op 2.9360 us/op 1.38
subtreeFillToContents depth 40 count 250000 107.79 ms/op 77.647 ms/op 1.39
setRoot - gindexBitstring 16.654 ms/op 12.332 ms/op 1.35
setRoot - gindex 19.115 ms/op 14.162 ms/op 1.35
getRoot - gindexBitstring 4.2727 ms/op 3.0714 ms/op 1.39
getRoot - gindex 5.5907 ms/op 4.3611 ms/op 1.28
getHashObject then setHashObject 21.313 ms/op 15.811 ms/op 1.35
setNodeWithFn 17.625 ms/op 13.187 ms/op 1.34
getNodeAtDepth depth 0 x100000 1.9777 ms/op 1.6151 ms/op 1.22
setNodeAtDepth depth 0 x100000 4.8319 ms/op 3.8510 ms/op 1.25
getNodesAtDepth depth 0 x100000 1.7399 ms/op 1.4193 ms/op 1.23
setNodesAtDepth depth 0 x100000 2.2933 ms/op 1.9588 ms/op 1.17
getNodeAtDepth depth 1 x100000 1.9680 ms/op 1.7407 ms/op 1.13
setNodeAtDepth depth 1 x100000 10.322 ms/op 8.1749 ms/op 1.26
getNodesAtDepth depth 1 x100000 1.8683 ms/op 1.5972 ms/op 1.17
setNodesAtDepth depth 1 x100000 8.1607 ms/op 6.8167 ms/op 1.20
getNodeAtDepth depth 2 x100000 2.6263 ms/op 2.1791 ms/op 1.21
setNodeAtDepth depth 2 x100000 19.062 ms/op 13.557 ms/op 1.41
getNodesAtDepth depth 2 x100000 34.638 ms/op 27.167 ms/op 1.28
setNodesAtDepth depth 2 x100000 27.830 ms/op 19.388 ms/op 1.44
tree.getNodesAtDepth - gindexes 8.4481 ms/op 8.0906 ms/op 1.04
tree.getNodesAtDepth - push all nodes 3.0091 ms/op 2.5831 ms/op 1.16
tree.getNodesAtDepth - navigation 198.33 us/op 201.41 us/op 0.98
tree.setNodesAtDepth - indexes 612.82 us/op 514.63 us/op 1.19
set at depth 8 951.00 ns/op 770.00 ns/op 1.24
set at depth 16 1.3380 us/op 1.0730 us/op 1.25
set at depth 32 2.0050 us/op 1.5850 us/op 1.26
iterateNodesAtDepth 8 256 24.471 us/op 19.179 us/op 1.28
getNodesAtDepth 8 256 5.8460 us/op 4.6550 us/op 1.26
iterateNodesAtDepth 16 65536 7.5203 ms/op 5.5630 ms/op 1.35
getNodesAtDepth 16 65536 2.5382 ms/op 2.2936 ms/op 1.11
iterateNodesAtDepth 32 250000 28.518 ms/op 20.565 ms/op 1.39
getNodesAtDepth 32 250000 7.1179 ms/op 5.9578 ms/op 1.19
iterateNodesAtDepth 40 250000 27.004 ms/op 20.549 ms/op 1.31
getNodesAtDepth 40 250000 7.3968 ms/op 6.0014 ms/op 1.23
250k validators 13.348 s/op 12.214 s/op 1.09
bitlist bytes to struct (120,90) 1.1060 us/op 974.00 ns/op 1.14
bitlist bytes to tree (120,90) 4.2590 us/op 3.5110 us/op 1.21
bitlist bytes to struct (2048,2048) 1.9560 us/op 1.9990 us/op 0.98
bitlist bytes to tree (2048,2048) 7.4190 us/op 7.0400 us/op 1.05
ByteListType - deserialize 18.320 ms/op 17.280 ms/op 1.06
BasicListType - deserialize 14.349 ms/op 12.191 ms/op 1.18
ByteListType - serialize 17.992 ms/op 16.425 ms/op 1.10
BasicListType - serialize 21.036 ms/op 19.516 ms/op 1.08
BasicListType - tree_convertToStruct 39.850 ms/op 45.187 ms/op 0.88
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 7.3504 ms/op 4.6202 ms/op 1.59
List[uint8, 68719476736] len 300000 ViewDU.get(i) 6.7517 ms/op 4.6181 ms/op 1.46
Array.push len 300000 empty Array - number 10.950 ms/op 8.5740 ms/op 1.28
Array.set len 300000 from new Array - number 2.5240 ms/op 2.1908 ms/op 1.15
Array.set len 300000 - number 8.8973 ms/op 7.6841 ms/op 1.16
Uint8Array.set len 300000 348.57 us/op 242.32 us/op 1.44
Uint32Array.set len 300000 418.02 us/op 348.62 us/op 1.20
Container({a: uint8, b: uint8}) getViewDU x300000 99.369 ms/op 31.758 ms/op 3.13
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 22.769 ms/op 12.330 ms/op 1.85
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 716.64 ms/op 493.58 ms/op 1.45
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 573.44 ms/op 441.42 ms/op 1.30
List(Container) len 300000 ViewDU.get(i) 12.899 ms/op 9.6258 ms/op 1.34
List(Container) len 300000 ViewDU.getReadonly(i) 12.332 ms/op 9.5717 ms/op 1.29
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 70.553 ms/op 53.864 ms/op 1.31
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 9.1653 ms/op 7.7656 ms/op 1.18
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 10.409 ms/op 9.0528 ms/op 1.15
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 10.990 ms/op 8.7676 ms/op 1.25
Array.push len 300000 empty Array - object 10.815 ms/op 8.2004 ms/op 1.32
Array.set len 300000 from new Array - object 3.3966 ms/op 2.7479 ms/op 1.24
Array.set len 300000 - object 9.9895 ms/op 7.9597 ms/op 1.26
cachePermanentRootStruct no cache 16.466 us/op 13.838 us/op 1.19
cachePermanentRootStruct with cache 371.00 ns/op 317.00 ns/op 1.17
epochParticipation len 250000 rws 7813 4.3912 ms/op 3.1750 ms/op 1.38
deserialize Attestation - tree 6.3710 us/op 4.6020 us/op 1.38
deserialize Attestation - struct 4.1660 us/op 3.1590 us/op 1.32
deserialize SignedAggregateAndProof - tree 8.6410 us/op 6.0020 us/op 1.44
deserialize SignedAggregateAndProof - struct 6.3330 us/op 4.8070 us/op 1.32
deserialize SyncCommitteeMessage - tree 1.8900 us/op 1.8130 us/op 1.04
deserialize SyncCommitteeMessage - struct 2.1860 us/op 2.0140 us/op 1.09
deserialize SignedContributionAndProof - tree 3.8440 us/op 3.0750 us/op 1.25
deserialize SignedContributionAndProof - struct 5.4430 us/op 4.4790 us/op 1.22
deserialize SignedBeaconBlock - tree 499.58 us/op 334.57 us/op 1.49
deserialize SignedBeaconBlock - struct 279.05 us/op 224.40 us/op 1.24
BeaconState vc 300000 - deserialize tree 1.2072 s/op 838.93 ms/op 1.44
BeaconState vc 300000 - serialize tree 367.30 ms/op 277.73 ms/op 1.32
BeaconState.historicalRoots vc 300000 - deserialize tree 1.1880 us/op 1.3700 us/op 0.87
BeaconState.historicalRoots vc 300000 - serialize tree 1.5940 us/op 1.3110 us/op 1.22
BeaconState.validators vc 300000 - deserialize tree 1.2360 s/op 875.60 ms/op 1.41
BeaconState.validators vc 300000 - serialize tree 290.77 ms/op 201.51 ms/op 1.44
BeaconState.balances vc 300000 - deserialize tree 49.244 ms/op 32.241 ms/op 1.53
BeaconState.balances vc 300000 - serialize tree 5.5780 ms/op 4.6928 ms/op 1.19
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 958.16 us/op 696.88 us/op 1.37
BeaconState.previousEpochParticipation vc 300000 - serialize tree 458.68 us/op 361.32 us/op 1.27
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 950.84 us/op 653.01 us/op 1.46
BeaconState.currentEpochParticipation vc 300000 - serialize tree 487.42 us/op 354.54 us/op 1.37
BeaconState.inactivityScores vc 300000 - deserialize tree 49.014 ms/op 41.347 ms/op 1.19
BeaconState.inactivityScores vc 300000 - serialize tree 5.7566 ms/op 3.5941 ms/op 1.60
hashTreeRoot Attestation - struct 58.186 us/op 41.847 us/op 1.39
hashTreeRoot Attestation - tree 29.190 us/op 29.583 us/op 0.99
hashTreeRoot SignedAggregateAndProof - struct 76.700 us/op 65.688 us/op 1.17
hashTreeRoot SignedAggregateAndProof - tree 51.781 us/op 40.592 us/op 1.28
hashTreeRoot SyncCommitteeMessage - struct 17.794 us/op 13.894 us/op 1.28
hashTreeRoot SyncCommitteeMessage - tree 12.005 us/op 9.1560 us/op 1.31
hashTreeRoot SignedContributionAndProof - struct 50.868 us/op 38.804 us/op 1.31
hashTreeRoot SignedContributionAndProof - tree 29.269 us/op 29.025 us/op 1.01
hashTreeRoot SignedBeaconBlock - struct 4.4560 ms/op 3.4679 ms/op 1.28
hashTreeRoot SignedBeaconBlock - tree 2.6544 ms/op 2.4238 ms/op 1.10
hashTreeRoot Validator - struct 22.812 us/op 19.356 us/op 1.18
hashTreeRoot Validator - tree 19.539 us/op 15.888 us/op 1.23
BeaconState vc 300000 - hashTreeRoot tree 5.9103 s/op 5.1553 s/op 1.15
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 2.3680 us/op 2.0320 us/op 1.17
BeaconState.validators vc 300000 - hashTreeRoot tree 5.6794 s/op 4.9387 s/op 1.15
BeaconState.balances vc 300000 - hashTreeRoot tree 140.91 ms/op 125.27 ms/op 1.12
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 14.273 ms/op 13.161 ms/op 1.08
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 14.367 ms/op 13.165 ms/op 1.09
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 142.50 ms/op 135.27 ms/op 1.05
hash64 x18 31.820 us/op 27.837 us/op 1.14
hashTwoObjects x18 27.632 us/op 26.007 us/op 1.06
hash64 x1740 2.9347 ms/op 2.6114 ms/op 1.12
hashTwoObjects x1740 2.7014 ms/op 2.4571 ms/op 1.10
hash64 x2700000 4.5627 s/op 4.0627 s/op 1.12
hashTwoObjects x2700000 4.1799 s/op 3.8030 s/op 1.10
get_exitEpoch - ContainerType 567.00 ns/op 4.6050 us/op 0.12
get_exitEpoch - ContainerNodeStructType 465.00 ns/op 433.00 ns/op 1.07
set_exitEpoch - ContainerType 503.00 ns/op 446.00 ns/op 1.13
set_exitEpoch - ContainerNodeStructType 353.00 ns/op 412.00 ns/op 0.86
get_pubkey - ContainerType 1.8300 us/op 1.9870 us/op 0.92
get_pubkey - ContainerNodeStructType 359.00 ns/op 423.00 ns/op 0.85
hashTreeRoot - ContainerType 568.00 ns/op 698.00 ns/op 0.81
hashTreeRoot - ContainerNodeStructType 713.00 ns/op 761.00 ns/op 0.94
createProof - ContainerType 8.2170 us/op 6.6320 us/op 1.24
createProof - ContainerNodeStructType 44.039 us/op 33.138 us/op 1.33
serialize - ContainerType 3.3340 us/op 2.9940 us/op 1.11
serialize - ContainerNodeStructType 2.7550 us/op 2.3890 us/op 1.15
set_exitEpoch_and_hashTreeRoot - ContainerType 6.8830 us/op 6.0810 us/op 1.13
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 19.340 us/op 16.635 us/op 1.16
Array - for of 30.661 us/op 8.9450 us/op 3.43
Array - for(;;) 26.349 us/op 8.6570 us/op 3.04
basicListValue.readonlyValuesArray() 5.9383 ms/op 4.4756 ms/op 1.33
basicListValue.readonlyValuesArray() + loop all 6.1437 ms/op 4.5805 ms/op 1.34
compositeListValue.readonlyValuesArray() 48.726 ms/op 34.605 ms/op 1.41
compositeListValue.readonlyValuesArray() + loop all 46.805 ms/op 32.660 ms/op 1.43
Number64UintType - get balances list 7.2311 ms/op 1.5781 ms/op 4.58
Number64UintType - set balances list 17.542 ms/op 11.917 ms/op 1.47
Number64UintType - get and increase 10 then set 77.909 ms/op 43.438 ms/op 1.79
Number64UintType - increase 10 using applyDelta 30.333 ms/op 15.231 ms/op 1.99
Number64UintType - increase 10 using applyDeltaInBatch 31.195 ms/op 14.971 ms/op 2.08
tree_newTreeFromUint64Deltas 34.696 ms/op 23.424 ms/op 1.48
unsafeUint8ArrayToTree 56.249 ms/op 41.735 ms/op 1.35
bitLength(50) 362.00 ns/op 321.00 ns/op 1.13
bitLengthStr(50) 431.00 ns/op 343.00 ns/op 1.26
bitLength(8000) 357.00 ns/op 316.00 ns/op 1.13
bitLengthStr(8000) 582.00 ns/op 402.00 ns/op 1.45
bitLength(250000) 368.00 ns/op 307.00 ns/op 1.20
bitLengthStr(250000) 685.00 ns/op 456.00 ns/op 1.50
floor - Math.floor (53) 0.68434 ns/op 0.60294 ns/op 1.14
floor - << 0 (53) 0.69194 ns/op 0.60284 ns/op 1.15
floor - Math.floor (512) 0.68089 ns/op 0.60264 ns/op 1.13
floor - << 0 (512) 0.68873 ns/op 0.60289 ns/op 1.14
fnIf(0) 2.1342 ns/op 2.0083 ns/op 1.06
fnSwitch(0) 3.3480 ns/op 3.3978 ns/op 0.99
fnObj(0) 0.67376 ns/op 0.60286 ns/op 1.12
fnArr(0) 0.68918 ns/op 0.60289 ns/op 1.14
fnIf(4) 3.1444 ns/op 3.1871 ns/op 0.99
fnSwitch(4) 3.2590 ns/op 3.4053 ns/op 0.96
fnObj(4) 0.67471 ns/op 0.60286 ns/op 1.12
fnArr(4) 0.69428 ns/op 0.60280 ns/op 1.15
fnIf(9) 4.3439 ns/op 5.2256 ns/op 0.83
fnSwitch(9) 3.3944 ns/op 3.3744 ns/op 1.01
fnObj(9) 0.68443 ns/op 0.60272 ns/op 1.14
fnArr(9) 0.68015 ns/op 0.60272 ns/op 1.13
Container {a,b,vec} - as struct x100000 69.487 us/op 60.513 us/op 1.15
Container {a,b,vec} - as tree x100000 672.84 us/op 498.08 us/op 1.35
Container {a,vec,b} - as struct x100000 105.38 us/op 120.74 us/op 0.87
Container {a,vec,b} - as tree x100000 765.48 us/op 554.05 us/op 1.38
get 2 props x1000000 - rawObject 388.45 us/op 401.92 us/op 0.97
get 2 props x1000000 - proxy 116.89 ms/op 93.803 ms/op 1.25
get 2 props x1000000 - customObj 390.21 us/op 401.93 us/op 0.97
Simple object binary -> struct 1.3020 us/op 1.0640 us/op 1.22
Simple object binary -> tree_backed 3.2640 us/op 2.8650 us/op 1.14
Simple object struct -> tree_backed 4.6390 us/op 4.0550 us/op 1.14
Simple object tree_backed -> struct 3.7180 us/op 3.4730 us/op 1.07
Simple object struct -> binary 1.8450 us/op 1.7430 us/op 1.06
Simple object tree_backed -> binary 3.3830 us/op 2.7880 us/op 1.21
aggregationBits binary -> struct 1.1270 us/op 911.00 ns/op 1.24
aggregationBits binary -> tree_backed 4.2030 us/op 3.8960 us/op 1.08
aggregationBits struct -> tree_backed 4.9730 us/op 4.6510 us/op 1.07
aggregationBits tree_backed -> struct 1.9800 us/op 1.9680 us/op 1.01
aggregationBits struct -> binary 1.3990 us/op 1.4310 us/op 0.98
aggregationBits tree_backed -> binary 1.7520 us/op 1.7530 us/op 1.00
List(uint8) 100000 binary -> struct 1.9465 ms/op 1.8263 ms/op 1.07
List(uint8) 100000 binary -> tree_backed 226.38 us/op 138.47 us/op 1.63
List(uint8) 100000 struct -> tree_backed 2.2191 ms/op 1.7226 ms/op 1.29
List(uint8) 100000 tree_backed -> struct 1.5113 ms/op 1.2382 ms/op 1.22
List(uint8) 100000 struct -> binary 2.0898 ms/op 1.5630 ms/op 1.34
List(uint8) 100000 tree_backed -> binary 161.39 us/op 93.805 us/op 1.72
List(uint64Number) 100000 binary -> struct 2.2212 ms/op 1.5458 ms/op 1.44
List(uint64Number) 100000 binary -> tree_backed 7.1330 ms/op 4.7192 ms/op 1.51
List(uint64Number) 100000 struct -> tree_backed 11.459 ms/op 6.7476 ms/op 1.70
List(uint64Number) 100000 tree_backed -> struct 3.4802 ms/op 2.6547 ms/op 1.31
List(uint64Number) 100000 struct -> binary 2.5311 ms/op 2.0306 ms/op 1.25
List(uint64Number) 100000 tree_backed -> binary 1.4266 ms/op 1.0072 ms/op 1.42
List(Uint64Bigint) 100000 binary -> struct 6.1954 ms/op 4.8420 ms/op 1.28
List(Uint64Bigint) 100000 binary -> tree_backed 6.9303 ms/op 4.7200 ms/op 1.47
List(Uint64Bigint) 100000 struct -> tree_backed 10.879 ms/op 7.7328 ms/op 1.41
List(Uint64Bigint) 100000 tree_backed -> struct 7.8438 ms/op 6.0175 ms/op 1.30
List(Uint64Bigint) 100000 struct -> binary 3.3000 ms/op 2.6382 ms/op 1.25
List(Uint64Bigint) 100000 tree_backed -> binary 1.2166 ms/op 1.2158 ms/op 1.00
Vector(Root) 100000 binary -> struct 69.217 ms/op 50.645 ms/op 1.37
Vector(Root) 100000 binary -> tree_backed 72.949 ms/op 51.027 ms/op 1.43
Vector(Root) 100000 struct -> tree_backed 84.458 ms/op 58.372 ms/op 1.45
Vector(Root) 100000 tree_backed -> struct 94.108 ms/op 63.002 ms/op 1.49
Vector(Root) 100000 struct -> binary 3.7477 ms/op 2.6083 ms/op 1.44
Vector(Root) 100000 tree_backed -> binary 15.241 ms/op 11.422 ms/op 1.33
List(Validator) 100000 binary -> struct 228.16 ms/op 177.06 ms/op 1.29
List(Validator) 100000 binary -> tree_backed 667.08 ms/op 483.88 ms/op 1.38
List(Validator) 100000 struct -> tree_backed 701.45 ms/op 508.91 ms/op 1.38
List(Validator) 100000 tree_backed -> struct 394.13 ms/op 273.48 ms/op 1.44
List(Validator) 100000 struct -> binary 55.315 ms/op 41.012 ms/op 1.35
List(Validator) 100000 tree_backed -> binary 173.48 ms/op 113.44 ms/op 1.53
List(Validator-NS) 100000 binary -> struct 254.60 ms/op 181.10 ms/op 1.41
List(Validator-NS) 100000 binary -> tree_backed 346.48 ms/op 243.44 ms/op 1.42
List(Validator-NS) 100000 struct -> tree_backed 412.97 ms/op 297.89 ms/op 1.39
List(Validator-NS) 100000 tree_backed -> struct 352.93 ms/op 241.68 ms/op 1.46
List(Validator-NS) 100000 struct -> binary 58.219 ms/op 41.059 ms/op 1.42
List(Validator-NS) 100000 tree_backed -> binary 67.324 ms/op 46.618 ms/op 1.44
get epochStatuses - MutableVector 194.00 us/op 100.04 us/op 1.94
get epochStatuses - ViewDU 283.80 us/op 241.03 us/op 1.18
set epochStatuses - ListTreeView 2.4204 ms/op 1.9437 ms/op 1.25
set epochStatuses - ListTreeView - set() 696.01 us/op 602.09 us/op 1.16
set epochStatuses - ListTreeView - commit() 696.92 us/op 551.09 us/op 1.26
bitstring 870.54 ns/op 923.08 ns/op 0.94
bit mask 16.171 ns/op 14.487 ns/op 1.12
struct - increase slot to 1000000 3.1197 ms/op 1.8931 ms/op 1.65
UintNumberType - increase slot to 1000000 50.108 ms/op 36.964 ms/op 1.36
UintBigintType - increase slot to 1000000 742.95 ms/op 571.84 ms/op 1.30
UintBigint8 x 100000 tree_deserialize 7.2105 ms/op 5.5456 ms/op 1.30
UintBigint8 x 100000 tree_serialize 2.1184 ms/op 1.1480 ms/op 1.85
UintBigint16 x 100000 tree_deserialize 7.2165 ms/op 5.1609 ms/op 1.40
UintBigint16 x 100000 tree_serialize 2.1317 ms/op 2.0151 ms/op 1.06
UintBigint32 x 100000 tree_deserialize 9.3805 ms/op 6.3096 ms/op 1.49
UintBigint32 x 100000 tree_serialize 2.2403 ms/op 1.5897 ms/op 1.41
UintBigint64 x 100000 tree_deserialize 9.7289 ms/op 6.5380 ms/op 1.49
UintBigint64 x 100000 tree_serialize 2.7724 ms/op 2.0794 ms/op 1.33
UintBigint8 x 100000 value_deserialize 694.80 us/op 541.67 us/op 1.28
UintBigint8 x 100000 value_serialize 1.5971 ms/op 921.93 us/op 1.73
UintBigint16 x 100000 value_deserialize 696.49 us/op 581.27 us/op 1.20
UintBigint16 x 100000 value_serialize 1.6112 ms/op 976.47 us/op 1.65
UintBigint32 x 100000 value_deserialize 700.35 us/op 539.90 us/op 1.30
UintBigint32 x 100000 value_serialize 1.6432 ms/op 960.74 us/op 1.71
UintBigint64 x 100000 value_deserialize 765.00 us/op 613.33 us/op 1.25
UintBigint64 x 100000 value_serialize 1.7961 ms/op 1.2218 ms/op 1.47
UintBigint8 x 100000 deserialize 7.9877 ms/op 6.3938 ms/op 1.25
UintBigint8 x 100000 serialize 2.4504 ms/op 1.9289 ms/op 1.27
UintBigint16 x 100000 deserialize 8.3749 ms/op 6.0533 ms/op 1.38
UintBigint16 x 100000 serialize 2.7444 ms/op 1.9870 ms/op 1.38
UintBigint32 x 100000 deserialize 9.5079 ms/op 7.2425 ms/op 1.31
UintBigint32 x 100000 serialize 4.5931 ms/op 3.8573 ms/op 1.19
UintBigint64 x 100000 deserialize 6.2289 ms/op 4.8229 ms/op 1.29
UintBigint64 x 100000 serialize 2.4042 ms/op 1.9024 ms/op 1.26
UintBigint128 x 100000 deserialize 10.244 ms/op 7.6985 ms/op 1.33
UintBigint128 x 100000 serialize 34.102 ms/op 21.665 ms/op 1.57
UintBigint256 x 100000 deserialize 18.303 ms/op 13.797 ms/op 1.33
UintBigint256 x 100000 serialize 105.82 ms/op 65.014 ms/op 1.63
Slice from Uint8Array x25000 1.9050 ms/op 1.3632 ms/op 1.40
Slice from ArrayBuffer x25000 33.094 ms/op 27.835 ms/op 1.19
Slice from ArrayBuffer x25000 + new Uint8Array 36.703 ms/op 32.570 ms/op 1.13
Copy Uint8Array 100000 iterate 1.1367 ms/op 1.0621 ms/op 1.07
Copy Uint8Array 100000 slice 144.02 us/op 102.88 us/op 1.40
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 322.71 us/op 280.73 us/op 1.15
Copy Buffer 100000 Uint8Array.prototype.slice.call 420.80 us/op 288.01 us/op 1.46
Copy Uint8Array 100000 slice + set 762.08 us/op 556.43 us/op 1.37
Copy Uint8Array 100000 subarray + set 415.04 us/op 280.93 us/op 1.48
Copy Uint8Array 100000 slice arrayBuffer 437.70 us/op 280.97 us/op 1.56
Uint64 deserialize 100000 - iterate Uint8Array 2.7068 ms/op 2.1028 ms/op 1.29
Uint64 deserialize 100000 - by Uint32A 2.4316 ms/op 2.0150 ms/op 1.21
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.4497 ms/op 1.9891 ms/op 1.23
Uint64 deserialize 100000 - by DataView.getBigUint64 8.0940 ms/op 5.9090 ms/op 1.37
Uint64 deserialize 100000 - by byte 68.528 ms/op 72.899 ms/op 0.94

Please sign in to comment.