Skip to content

Commit

Permalink
chore: release master (#319)
Browse files Browse the repository at this point in the history
  • Loading branch information
wemeetagain authored Apr 21, 2023
1 parent f459e92 commit 46dee18
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 6 deletions.
6 changes: 3 additions & 3 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"packages/as-sha256": "0.4.0",
"packages/persistent-merkle-tree": "0.6.0",
"packages/as-sha256": "0.4.1",
"packages/persistent-merkle-tree": "0.6.1",
"packages/persistent-ts": "0.19.1",
"packages/ssz": "0.11.0"
"packages/ssz": "0.11.1"
}
7 changes: 7 additions & 0 deletions packages/as-sha256/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.4.1](https://github.com/ChainSafe/ssz/compare/as-sha256-v0.4.0...as-sha256-v0.4.1) (2023-04-21)


### Bug Fixes

* Use file path imports ([#318](https://github.com/ChainSafe/ssz/issues/318)) ([f459e92](https://github.com/ChainSafe/ssz/commit/f459e92fbafc5d9388bfa630291855ec32a09566))

## [0.4.0](https://github.com/ChainSafe/ssz/compare/as-sha256-v0.3.1...as-sha256-v0.4.0) (2023-04-05)


Expand Down
2 changes: 1 addition & 1 deletion packages/as-sha256/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/as-sha256",
"version": "0.4.0",
"version": "0.4.1",
"description": "An AssemblyScript implementation of SHA256",
"author": "ChainSafe Systems",
"license": "Apache-2.0",
Expand Down
14 changes: 14 additions & 0 deletions packages/persistent-merkle-tree/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [0.6.1](https://github.com/ChainSafe/ssz/compare/persistent-merkle-tree-v0.6.0...persistent-merkle-tree-v0.6.1) (2023-04-21)


### Bug Fixes

* Use file path imports ([#318](https://github.com/ChainSafe/ssz/issues/318)) ([f459e92](https://github.com/ChainSafe/ssz/commit/f459e92fbafc5d9388bfa630291855ec32a09566))


### Dependencies

* The following workspace dependencies were updated
* dependencies
* @chainsafe/as-sha256 bumped to 0.4.1

## [0.6.0](https://github.com/ChainSafe/ssz/compare/persistent-merkle-tree-v0.5.0...persistent-merkle-tree-v0.6.0) (2023-04-05)


Expand Down
2 changes: 1 addition & 1 deletion packages/persistent-merkle-tree/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/persistent-merkle-tree",
"version": "0.6.0",
"version": "0.6.1",
"description": "Merkle tree implemented as a persistent datastructure",
"main": "lib/index.js",
"typesVersions": {
Expand Down
15 changes: 15 additions & 0 deletions packages/ssz/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
* dependencies
* @chainsafe/persistent-merkle-tree bumped from ^0.4.2 to ^0.5.0

## [0.11.1](https://github.com/ChainSafe/ssz/compare/ssz-v0.11.0...ssz-v0.11.1) (2023-04-21)


### Bug Fixes

* Use file path imports ([#318](https://github.com/ChainSafe/ssz/issues/318)) ([f459e92](https://github.com/ChainSafe/ssz/commit/f459e92fbafc5d9388bfa630291855ec32a09566))


### Dependencies

* The following workspace dependencies were updated
* dependencies
* @chainsafe/as-sha256 bumped to 0.4.1
* @chainsafe/persistent-merkle-tree bumped to 0.6.1

## [0.11.0](https://github.com/ChainSafe/ssz/compare/ssz-v0.10.2...ssz-v0.11.0) (2023-04-05)


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.11.0",
"version": "0.11.1",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand Down

1 comment on commit 46dee18

@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: 46dee18 Previous: f459e92 Ratio
List[uint8, 68719476736] len 300000 ViewDU.get(i) 7.5966 ms/op 1.6672 ms/op 4.56
Full benchmark results
Benchmark suite Current: 46dee18 Previous: f459e92 Ratio
digestTwoHashObjects 50023 times 73.482 ms/op 74.107 ms/op 0.99
digest64 50023 times 72.690 ms/op 74.825 ms/op 0.97
digest 50023 times 71.981 ms/op 74.705 ms/op 0.96
input length 32 1.7910 us/op 1.7700 us/op 1.01
input length 64 1.9380 us/op 1.9710 us/op 0.98
input length 128 3.3650 us/op 3.3920 us/op 0.99
input length 256 5.0020 us/op 5.0380 us/op 0.99
input length 512 8.1290 us/op 8.4220 us/op 0.97
input length 1024 16.154 us/op 16.462 us/op 0.98
digest 1000000 times 1.2377 s/op 1.2478 s/op 0.99
hashObjectToByteArray 50023 times 2.8553 ms/op 2.8034 ms/op 1.02
byteArrayToHashObject 50023 times 3.5048 ms/op 3.2944 ms/op 1.06
getGindicesAtDepth 7.5140 us/op 7.6380 us/op 0.98
iterateAtDepth 15.101 us/op 15.393 us/op 0.98
getGindexBits 692.00 ns/op 794.00 ns/op 0.87
gindexIterator 1.5750 us/op 1.6360 us/op 0.96
hash 2 Uint8Array 2250026 times - as-sha256 3.2676 s/op 3.2049 s/op 1.02
hashTwoObjects 2250026 times - as-sha256 3.1457 s/op 3.0475 s/op 1.03
hash 2 Uint8Array 2250026 times - noble 11.157 s/op 10.352 s/op 1.08
hashTwoObjects 2250026 times - noble 14.060 s/op 12.033 s/op 1.17
getNodeH() x7812.5 avg hindex 29.553 us/op 28.052 us/op 1.05
getNodeH() x7812.5 index 0 10.521 us/op 10.197 us/op 1.03
getNodeH() x7812.5 index 7 10.496 us/op 10.064 us/op 1.04
getNodeH() x7812.5 index 7 with key array 10.582 us/op 9.8990 us/op 1.07
new LeafNode() x7812.5 357.00 us/op 353.85 us/op 1.01
multiproof - depth 15, 1 requested leaves 18.819 us/op 17.701 us/op 1.06
tree offset multiproof - depth 15, 1 requested leaves 41.209 us/op 37.484 us/op 1.10
compact multiproof - depth 15, 1 requested leaves 10.233 us/op 9.1790 us/op 1.11
multiproof - depth 15, 2 requested leaves 24.520 us/op 22.192 us/op 1.10
tree offset multiproof - depth 15, 2 requested leaves 42.086 us/op 40.292 us/op 1.04
compact multiproof - depth 15, 2 requested leaves 5.5980 us/op 5.2960 us/op 1.06
multiproof - depth 15, 3 requested leaves 37.057 us/op 30.345 us/op 1.22
tree offset multiproof - depth 15, 3 requested leaves 57.983 us/op 50.454 us/op 1.15
compact multiproof - depth 15, 3 requested leaves 11.342 us/op 8.9820 us/op 1.26
multiproof - depth 15, 4 requested leaves 46.399 us/op 40.784 us/op 1.14
tree offset multiproof - depth 15, 4 requested leaves 70.028 us/op 63.604 us/op 1.10
compact multiproof - depth 15, 4 requested leaves 11.737 us/op 10.346 us/op 1.13
packedRootsBytesToLeafNodes bytes 4000 offset 0 4.2180 us/op 3.9730 us/op 1.06
packedRootsBytesToLeafNodes bytes 4000 offset 1 4.2700 us/op 3.7840 us/op 1.13
packedRootsBytesToLeafNodes bytes 4000 offset 2 4.3860 us/op 3.7660 us/op 1.16
packedRootsBytesToLeafNodes bytes 4000 offset 3 4.3410 us/op 3.7770 us/op 1.15
subtreeFillToContents depth 40 count 250000 102.98 ms/op 79.318 ms/op 1.30
setRoot - gindexBitstring 17.151 ms/op 15.327 ms/op 1.12
setRoot - gindex 19.465 ms/op 14.025 ms/op 1.39
getRoot - gindexBitstring 4.6513 ms/op 3.9200 ms/op 1.19
getRoot - gindex 5.5455 ms/op 4.7155 ms/op 1.18
getHashObject then setHashObject 19.217 ms/op 16.567 ms/op 1.16
setNodeWithFn 20.222 ms/op 14.470 ms/op 1.40
getNodeAtDepth depth 0 x100000 2.7657 ms/op 2.6113 ms/op 1.06
setNodeAtDepth depth 0 x100000 5.2287 ms/op 4.6145 ms/op 1.13
getNodesAtDepth depth 0 x100000 2.1662 ms/op 2.0589 ms/op 1.05
setNodesAtDepth depth 0 x100000 3.0780 ms/op 2.8198 ms/op 1.09
getNodeAtDepth depth 1 x100000 2.8524 ms/op 2.7325 ms/op 1.04
setNodeAtDepth depth 1 x100000 11.121 ms/op 10.249 ms/op 1.09
getNodesAtDepth depth 1 x100000 2.4207 ms/op 2.3250 ms/op 1.04
setNodesAtDepth depth 1 x100000 10.356 ms/op 8.1520 ms/op 1.27
getNodeAtDepth depth 2 x100000 3.3520 ms/op 3.3125 ms/op 1.01
setNodeAtDepth depth 2 x100000 18.902 ms/op 16.253 ms/op 1.16
getNodesAtDepth depth 2 x100000 33.032 ms/op 30.275 ms/op 1.09
setNodesAtDepth depth 2 x100000 24.027 ms/op 21.995 ms/op 1.09
tree.getNodesAtDepth - gindexes 10.088 ms/op 9.0138 ms/op 1.12
tree.getNodesAtDepth - push all nodes 3.1162 ms/op 2.7735 ms/op 1.12
tree.getNodesAtDepth - navigation 201.72 us/op 193.22 us/op 1.04
tree.setNodesAtDepth - indexes 674.69 us/op 580.14 us/op 1.16
set at depth 8 843.00 ns/op 725.00 ns/op 1.16
set at depth 16 1.0980 us/op 953.00 ns/op 1.15
set at depth 32 1.7810 us/op 1.5200 us/op 1.17
iterateNodesAtDepth 8 256 27.831 us/op 24.287 us/op 1.15
getNodesAtDepth 8 256 6.9560 us/op 6.2170 us/op 1.12
iterateNodesAtDepth 16 65536 7.9510 ms/op 7.3394 ms/op 1.08
getNodesAtDepth 16 65536 3.0644 ms/op 2.6345 ms/op 1.16
iterateNodesAtDepth 32 250000 29.789 ms/op 27.662 ms/op 1.08
getNodesAtDepth 32 250000 9.1581 ms/op 7.6424 ms/op 1.20
iterateNodesAtDepth 40 250000 29.687 ms/op 27.857 ms/op 1.07
getNodesAtDepth 40 250000 9.6536 ms/op 7.6834 ms/op 1.26
250k validators 13.968 s/op 12.078 s/op 1.16
bitlist bytes to struct (120,90) 1.2060 us/op 876.00 ns/op 1.38
bitlist bytes to tree (120,90) 4.7990 us/op 3.6810 us/op 1.30
bitlist bytes to struct (2048,2048) 2.4480 us/op 1.7590 us/op 1.39
bitlist bytes to tree (2048,2048) 9.1290 us/op 6.7920 us/op 1.34
ByteListType - deserialize 21.784 ms/op 18.654 ms/op 1.17
BasicListType - deserialize 22.098 ms/op 15.604 ms/op 1.42
ByteListType - serialize 23.220 ms/op 18.313 ms/op 1.27
BasicListType - serialize 26.676 ms/op 18.735 ms/op 1.42
BasicListType - tree_convertToStruct 51.976 ms/op 34.823 ms/op 1.49
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 7.3430 ms/op 6.7161 ms/op 1.09
List[uint8, 68719476736] len 300000 ViewDU.get(i) 7.5966 ms/op 1.6672 ms/op 4.56
Array.push len 300000 empty Array - number 10.728 ms/op 9.6464 ms/op 1.11
Array.set len 300000 from new Array - number 3.2418 ms/op 2.6940 ms/op 1.20
Array.set len 300000 - number 10.523 ms/op 9.4236 ms/op 1.12
Uint8Array.set len 300000 332.64 us/op 282.74 us/op 1.18
Uint32Array.set len 300000 483.37 us/op 400.02 us/op 1.21
Container({a: uint8, b: uint8}) getViewDU x300000 41.927 ms/op 34.972 ms/op 1.20
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 15.398 ms/op 13.964 ms/op 1.10
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 678.96 ms/op 610.80 ms/op 1.11
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 551.05 ms/op 504.88 ms/op 1.09
List(Container) len 300000 ViewDU.get(i) 15.504 ms/op 11.689 ms/op 1.33
List(Container) len 300000 ViewDU.getReadonly(i) 12.579 ms/op 11.432 ms/op 1.10
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 68.769 ms/op 67.621 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 10.332 ms/op 8.0312 ms/op 1.29
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 11.703 ms/op 10.644 ms/op 1.10
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 12.848 ms/op 10.290 ms/op 1.25
Array.push len 300000 empty Array - object 10.053 ms/op 9.3486 ms/op 1.08
Array.set len 300000 from new Array - object 4.3041 ms/op 3.3920 ms/op 1.27
Array.set len 300000 - object 10.066 ms/op 9.4943 ms/op 1.06
cachePermanentRootStruct no cache 14.533 us/op 13.530 us/op 1.07
cachePermanentRootStruct with cache 360.00 ns/op 328.00 ns/op 1.10
epochParticipation len 250000 rws 7813 3.8767 ms/op 3.6408 ms/op 1.06
deserialize Attestation - tree 5.9050 us/op 4.5310 us/op 1.30
deserialize Attestation - struct 3.7310 us/op 3.3010 us/op 1.13
deserialize SignedAggregateAndProof - tree 7.0570 us/op 5.9130 us/op 1.19
deserialize SignedAggregateAndProof - struct 5.7200 us/op 5.2650 us/op 1.09
deserialize SyncCommitteeMessage - tree 1.7340 us/op 1.5920 us/op 1.09
deserialize SyncCommitteeMessage - struct 2.1860 us/op 1.9510 us/op 1.12
deserialize SignedContributionAndProof - tree 3.4630 us/op 2.9940 us/op 1.16
deserialize SignedContributionAndProof - struct 5.1350 us/op 4.3660 us/op 1.18
deserialize SignedBeaconBlock - tree 418.62 us/op 348.52 us/op 1.20
deserialize SignedBeaconBlock - struct 280.47 us/op 227.65 us/op 1.23
BeaconState vc 300000 - deserialize tree 1.1493 s/op 1.0162 s/op 1.13
BeaconState vc 300000 - serialize tree 342.28 ms/op 363.93 ms/op 0.94
BeaconState.historicalRoots vc 300000 - deserialize tree 1.5100 us/op 1.2430 us/op 1.21
BeaconState.historicalRoots vc 300000 - serialize tree 1.5100 us/op 1.4640 us/op 1.03
BeaconState.validators vc 300000 - deserialize tree 1.1530 s/op 1.0797 s/op 1.07
BeaconState.validators vc 300000 - serialize tree 317.07 ms/op 283.48 ms/op 1.12
BeaconState.balances vc 300000 - deserialize tree 47.503 ms/op 41.462 ms/op 1.15
BeaconState.balances vc 300000 - serialize tree 7.2469 ms/op 6.1265 ms/op 1.18
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 937.08 us/op 731.13 us/op 1.28
BeaconState.previousEpochParticipation vc 300000 - serialize tree 533.73 us/op 545.04 us/op 0.98
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 844.09 us/op 748.91 us/op 1.13
BeaconState.currentEpochParticipation vc 300000 - serialize tree 532.50 us/op 514.96 us/op 1.03
BeaconState.inactivityScores vc 300000 - deserialize tree 47.766 ms/op 44.581 ms/op 1.07
BeaconState.inactivityScores vc 300000 - serialize tree 7.1206 ms/op 7.1235 ms/op 1.00
hashTreeRoot Attestation - struct 56.563 us/op 54.836 us/op 1.03
hashTreeRoot Attestation - tree 31.263 us/op 28.622 us/op 1.09
hashTreeRoot SignedAggregateAndProof - struct 81.687 us/op 69.296 us/op 1.18
hashTreeRoot SignedAggregateAndProof - tree 42.560 us/op 41.670 us/op 1.02
hashTreeRoot SyncCommitteeMessage - struct 18.580 us/op 17.402 us/op 1.07
hashTreeRoot SyncCommitteeMessage - tree 9.1570 us/op 9.1200 us/op 1.00
hashTreeRoot SignedContributionAndProof - struct 47.550 us/op 48.010 us/op 0.99
hashTreeRoot SignedContributionAndProof - tree 30.342 us/op 32.073 us/op 0.95
hashTreeRoot SignedBeaconBlock - struct 4.1959 ms/op 4.1593 ms/op 1.01
hashTreeRoot SignedBeaconBlock - tree 2.4335 ms/op 2.3814 ms/op 1.02
hashTreeRoot Validator - struct 21.146 us/op 20.740 us/op 1.02
hashTreeRoot Validator - tree 16.970 us/op 17.185 us/op 0.99
BeaconState vc 300000 - hashTreeRoot tree 5.3988 s/op 5.3922 s/op 1.00
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 2.2020 us/op 2.1840 us/op 1.01
BeaconState.validators vc 300000 - hashTreeRoot tree 5.1575 s/op 5.1909 s/op 0.99
BeaconState.balances vc 300000 - hashTreeRoot tree 125.35 ms/op 133.02 ms/op 0.94
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 13.299 ms/op 13.223 ms/op 1.01
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 13.272 ms/op 13.113 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 137.80 ms/op 132.43 ms/op 1.04
hash64 x18 31.263 us/op 27.363 us/op 1.14
hashTwoObjects x18 26.801 us/op 25.664 us/op 1.04
hash64 x1740 2.7682 ms/op 2.7201 ms/op 1.02
hashTwoObjects x1740 2.4813 ms/op 2.3800 ms/op 1.04
hash64 x2700000 4.2523 s/op 4.1539 s/op 1.02
hashTwoObjects x2700000 3.8516 s/op 3.8694 s/op 1.00
get_exitEpoch - ContainerType 692.00 ns/op 709.00 ns/op 0.98
get_exitEpoch - ContainerNodeStructType 567.00 ns/op 563.00 ns/op 1.01
set_exitEpoch - ContainerType 631.00 ns/op 586.00 ns/op 1.08
set_exitEpoch - ContainerNodeStructType 605.00 ns/op 544.00 ns/op 1.11
get_pubkey - ContainerType 2.3260 us/op 2.2190 us/op 1.05
get_pubkey - ContainerNodeStructType 623.00 ns/op 459.00 ns/op 1.36
hashTreeRoot - ContainerType 705.00 ns/op 748.00 ns/op 0.94
hashTreeRoot - ContainerNodeStructType 805.00 ns/op 857.00 ns/op 0.94
createProof - ContainerType 7.6340 us/op 8.3830 us/op 0.91
createProof - ContainerNodeStructType 40.718 us/op 49.097 us/op 0.83
serialize - ContainerType 3.6450 us/op 4.1610 us/op 0.88
serialize - ContainerNodeStructType 3.0200 us/op 3.4210 us/op 0.88
set_exitEpoch_and_hashTreeRoot - ContainerType 6.4940 us/op 7.3060 us/op 0.89
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 18.087 us/op 19.095 us/op 0.95
Array - for of 12.575 us/op 12.783 us/op 0.98
Array - for(;;) 8.6510 us/op 8.6920 us/op 1.00
basicListValue.readonlyValuesArray() 7.4797 ms/op 8.5568 ms/op 0.87
basicListValue.readonlyValuesArray() + loop all 7.4129 ms/op 8.3193 ms/op 0.89
compositeListValue.readonlyValuesArray() 48.187 ms/op 50.174 ms/op 0.96
compositeListValue.readonlyValuesArray() + loop all 43.811 ms/op 40.114 ms/op 1.09
Number64UintType - get balances list 7.1981 ms/op 7.9087 ms/op 0.91
Number64UintType - set balances list 16.994 ms/op 17.731 ms/op 0.96
Number64UintType - get and increase 10 then set 68.026 ms/op 72.412 ms/op 0.94
Number64UintType - increase 10 using applyDelta 29.042 ms/op 31.187 ms/op 0.93
Number64UintType - increase 10 using applyDeltaInBatch 29.292 ms/op 29.976 ms/op 0.98
tree_newTreeFromUint64Deltas 32.063 ms/op 34.517 ms/op 0.93
unsafeUint8ArrayToTree 58.601 ms/op 57.140 ms/op 1.03
bitLength(50) 406.00 ns/op 366.00 ns/op 1.11
bitLengthStr(50) 468.00 ns/op 442.00 ns/op 1.06
bitLength(8000) 377.00 ns/op 368.00 ns/op 1.02
bitLengthStr(8000) 597.00 ns/op 605.00 ns/op 0.99
bitLength(250000) 369.00 ns/op 352.00 ns/op 1.05
bitLengthStr(250000) 708.00 ns/op 712.00 ns/op 0.99
floor - Math.floor (53) 0.79967 ns/op 0.80508 ns/op 0.99
floor - << 0 (53) 0.80415 ns/op 0.80536 ns/op 1.00
floor - Math.floor (512) 0.80413 ns/op 0.80614 ns/op 1.00
floor - << 0 (512) 0.80355 ns/op 0.80462 ns/op 1.00
fnIf(0) 3.1851 ns/op 3.2212 ns/op 0.99
fnSwitch(0) 6.0183 ns/op 6.0327 ns/op 1.00
fnObj(0) 0.80432 ns/op 0.80531 ns/op 1.00
fnArr(0) 0.80405 ns/op 0.80519 ns/op 1.00
fnIf(4) 5.2224 ns/op 5.2315 ns/op 1.00
fnSwitch(4) 6.0304 ns/op 6.0319 ns/op 1.00
fnObj(4) 0.80351 ns/op 0.80467 ns/op 1.00
fnArr(4) 0.79949 ns/op 0.80490 ns/op 0.99
fnIf(9) 8.0197 ns/op 8.0632 ns/op 0.99
fnSwitch(9) 6.0324 ns/op 6.0544 ns/op 1.00
fnObj(9) 0.80415 ns/op 0.80581 ns/op 1.00
fnArr(9) 0.80070 ns/op 0.80683 ns/op 0.99
Container {a,b,vec} - as struct x100000 80.829 us/op 81.091 us/op 1.00
Container {a,b,vec} - as tree x100000 999.88 us/op 1.0093 ms/op 0.99
Container {a,vec,b} - as struct x100000 121.02 us/op 121.48 us/op 1.00
Container {a,vec,b} - as tree x100000 1.0847 ms/op 1.0870 ms/op 1.00
get 2 props x1000000 - rawObject 394.08 us/op 403.24 us/op 0.98
get 2 props x1000000 - proxy 160.16 ms/op 161.18 ms/op 0.99
get 2 props x1000000 - customObj 402.27 us/op 403.21 us/op 1.00
Simple object binary -> struct 1.4450 us/op 979.00 ns/op 1.48
Simple object binary -> tree_backed 4.0300 us/op 2.8520 us/op 1.41
Simple object struct -> tree_backed 5.1090 us/op 3.9770 us/op 1.28
Simple object tree_backed -> struct 4.3010 us/op 3.3590 us/op 1.28
Simple object struct -> binary 2.3550 us/op 1.8600 us/op 1.27
Simple object tree_backed -> binary 3.7980 us/op 3.1630 us/op 1.20
aggregationBits binary -> struct 1.3540 us/op 823.00 ns/op 1.65
aggregationBits binary -> tree_backed 5.4510 us/op 4.2450 us/op 1.28
aggregationBits struct -> tree_backed 5.6340 us/op 5.3120 us/op 1.06
aggregationBits tree_backed -> struct 2.1750 us/op 2.1990 us/op 0.99
aggregationBits struct -> binary 1.6730 us/op 1.6380 us/op 1.02
aggregationBits tree_backed -> binary 1.9360 us/op 1.9720 us/op 0.98
List(uint8) 100000 binary -> struct 2.7000 ms/op 2.3683 ms/op 1.14
List(uint8) 100000 binary -> tree_backed 185.88 us/op 201.07 us/op 0.92
List(uint8) 100000 struct -> tree_backed 2.4798 ms/op 2.5510 ms/op 0.97
List(uint8) 100000 tree_backed -> struct 1.9649 ms/op 1.7876 ms/op 1.10
List(uint8) 100000 struct -> binary 2.4895 ms/op 2.2982 ms/op 1.08
List(uint8) 100000 tree_backed -> binary 172.06 us/op 170.66 us/op 1.01
List(uint64Number) 100000 binary -> struct 1.9545 ms/op 1.9710 ms/op 0.99
List(uint64Number) 100000 binary -> tree_backed 6.0137 ms/op 6.5315 ms/op 0.92
List(uint64Number) 100000 struct -> tree_backed 8.5942 ms/op 9.2147 ms/op 0.93
List(uint64Number) 100000 tree_backed -> struct 3.6811 ms/op 4.3799 ms/op 0.84
List(uint64Number) 100000 struct -> binary 2.7027 ms/op 2.7602 ms/op 0.98
List(uint64Number) 100000 tree_backed -> binary 2.0917 ms/op 2.4140 ms/op 0.87
List(Uint64Bigint) 100000 binary -> struct 6.3737 ms/op 6.6229 ms/op 0.96
List(Uint64Bigint) 100000 binary -> tree_backed 6.6982 ms/op 8.0382 ms/op 0.83
List(Uint64Bigint) 100000 struct -> tree_backed 9.6897 ms/op 10.740 ms/op 0.90
List(Uint64Bigint) 100000 tree_backed -> struct 7.8762 ms/op 8.4856 ms/op 0.93
List(Uint64Bigint) 100000 struct -> binary 3.4994 ms/op 3.5345 ms/op 0.99
List(Uint64Bigint) 100000 tree_backed -> binary 1.8124 ms/op 2.1986 ms/op 0.82
Vector(Root) 100000 binary -> struct 63.816 ms/op 64.082 ms/op 1.00
Vector(Root) 100000 binary -> tree_backed 69.267 ms/op 63.357 ms/op 1.09
Vector(Root) 100000 struct -> tree_backed 77.996 ms/op 71.040 ms/op 1.10
Vector(Root) 100000 tree_backed -> struct 91.153 ms/op 76.380 ms/op 1.19
Vector(Root) 100000 struct -> binary 3.8784 ms/op 3.6837 ms/op 1.05
Vector(Root) 100000 tree_backed -> binary 16.427 ms/op 15.313 ms/op 1.07
List(Validator) 100000 binary -> struct 241.93 ms/op 219.53 ms/op 1.10
List(Validator) 100000 binary -> tree_backed 606.28 ms/op 541.00 ms/op 1.12
List(Validator) 100000 struct -> tree_backed 650.81 ms/op 602.54 ms/op 1.08
List(Validator) 100000 tree_backed -> struct 380.97 ms/op 356.23 ms/op 1.07
List(Validator) 100000 struct -> binary 56.705 ms/op 55.926 ms/op 1.01
List(Validator) 100000 tree_backed -> binary 162.83 ms/op 155.13 ms/op 1.05
List(Validator-NS) 100000 binary -> struct 247.78 ms/op 217.48 ms/op 1.14
List(Validator-NS) 100000 binary -> tree_backed 319.31 ms/op 296.24 ms/op 1.08
List(Validator-NS) 100000 struct -> tree_backed 394.86 ms/op 370.88 ms/op 1.06
List(Validator-NS) 100000 tree_backed -> struct 333.16 ms/op 312.32 ms/op 1.07
List(Validator-NS) 100000 struct -> binary 59.253 ms/op 54.075 ms/op 1.10
List(Validator-NS) 100000 tree_backed -> binary 68.489 ms/op 60.845 ms/op 1.13
get epochStatuses - MutableVector 142.22 us/op 135.62 us/op 1.05
get epochStatuses - ViewDU 325.62 us/op 331.66 us/op 0.98
set epochStatuses - ListTreeView 2.4569 ms/op 2.4366 ms/op 1.01
set epochStatuses - ListTreeView - set() 726.72 us/op 723.18 us/op 1.00
set epochStatuses - ListTreeView - commit() 769.04 us/op 747.72 us/op 1.03
bitstring 894.61 ns/op 882.23 ns/op 1.01
bit mask 15.300 ns/op 15.190 ns/op 1.01
struct - increase slot to 1000000 2.6193 ms/op 2.6069 ms/op 1.00
UintNumberType - increase slot to 1000000 57.420 ms/op 57.031 ms/op 1.01
UintBigintType - increase slot to 1000000 737.63 ms/op 725.76 ms/op 1.02
UintBigint8 x 100000 tree_deserialize 14.803 ms/op 8.6959 ms/op 1.70
UintBigint8 x 100000 tree_serialize 2.4166 ms/op 2.4126 ms/op 1.00
UintBigint16 x 100000 tree_deserialize 6.9733 ms/op 8.2847 ms/op 0.84
UintBigint16 x 100000 tree_serialize 2.6234 ms/op 2.4320 ms/op 1.08
UintBigint32 x 100000 tree_deserialize 9.3372 ms/op 8.0898 ms/op 1.15
UintBigint32 x 100000 tree_serialize 2.4554 ms/op 2.1542 ms/op 1.14
UintBigint64 x 100000 tree_deserialize 9.5181 ms/op 9.1253 ms/op 1.04
UintBigint64 x 100000 tree_serialize 3.1102 ms/op 2.9021 ms/op 1.07
UintBigint8 x 100000 value_deserialize 1.0455 ms/op 1.0211 ms/op 1.02
UintBigint8 x 100000 value_serialize 1.3712 ms/op 1.2466 ms/op 1.10
UintBigint16 x 100000 value_deserialize 1.1230 ms/op 1.0837 ms/op 1.04
UintBigint16 x 100000 value_serialize 1.4747 ms/op 1.3632 ms/op 1.08
UintBigint32 x 100000 value_deserialize 1.0043 ms/op 985.12 us/op 1.02
UintBigint32 x 100000 value_serialize 1.6030 ms/op 1.4571 ms/op 1.10
UintBigint64 x 100000 value_deserialize 1.0838 ms/op 1.0400 ms/op 1.04
UintBigint64 x 100000 value_serialize 1.8786 ms/op 1.5715 ms/op 1.20
UintBigint8 x 100000 deserialize 8.4172 ms/op 7.8045 ms/op 1.08
UintBigint8 x 100000 serialize 3.1502 ms/op 2.8818 ms/op 1.09
UintBigint16 x 100000 deserialize 8.6463 ms/op 7.7535 ms/op 1.12
UintBigint16 x 100000 serialize 3.4129 ms/op 2.9256 ms/op 1.17
UintBigint32 x 100000 deserialize 9.3981 ms/op 9.1308 ms/op 1.03
UintBigint32 x 100000 serialize 5.2683 ms/op 5.1065 ms/op 1.03
UintBigint64 x 100000 deserialize 6.1009 ms/op 6.1803 ms/op 0.99
UintBigint64 x 100000 serialize 2.9283 ms/op 2.8550 ms/op 1.03
UintBigint128 x 100000 deserialize 9.8771 ms/op 9.7766 ms/op 1.01
UintBigint128 x 100000 serialize 32.815 ms/op 31.340 ms/op 1.05
UintBigint256 x 100000 deserialize 18.242 ms/op 17.897 ms/op 1.02
UintBigint256 x 100000 serialize 98.541 ms/op 95.440 ms/op 1.03
Slice from Uint8Array x25000 1.9105 ms/op 1.7322 ms/op 1.10
Slice from ArrayBuffer x25000 34.187 ms/op 31.192 ms/op 1.10
Slice from ArrayBuffer x25000 + new Uint8Array 37.211 ms/op 32.734 ms/op 1.14
Copy Uint8Array 100000 iterate 1.7642 ms/op 1.6824 ms/op 1.05
Copy Uint8Array 100000 slice 185.33 us/op 239.44 us/op 0.77
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 156.99 us/op 290.85 us/op 0.54
Copy Buffer 100000 Uint8Array.prototype.slice.call 159.32 us/op 328.30 us/op 0.49
Copy Uint8Array 100000 slice + set 433.38 us/op 673.39 us/op 0.64
Copy Uint8Array 100000 subarray + set 185.01 us/op 387.03 us/op 0.48
Copy Uint8Array 100000 slice arrayBuffer 177.11 us/op 417.33 us/op 0.42
Uint64 deserialize 100000 - iterate Uint8Array 2.6777 ms/op 2.7031 ms/op 0.99
Uint64 deserialize 100000 - by Uint32A 2.5292 ms/op 2.6398 ms/op 0.96
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.7389 ms/op 2.6774 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getBigUint64 8.2628 ms/op 8.1911 ms/op 1.01
Uint64 deserialize 100000 - by byte 82.776 ms/op 83.762 ms/op 0.99

Please sign in to comment.