Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: show errors during serialization/deserialization as popup #323

Merged
merged 1 commit into from
May 3, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented May 2, 2023

Motivation

Closes #322

Description

Easiest solution I found with high confidence of not breaking something.

It will now also show a error popup instead of just logging to console, the errors are quite technical and might not be that helpful sometimes but at least a user gets notified that something is not right.

image

@nflaig nflaig requested a review from a team as a code owner May 2, 2023 16:02
@github-actions
Copy link

github-actions bot commented May 2, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 0619701 Previous: 46dee18 Ratio
digestTwoHashObjects 50023 times 69.168 ms/op 73.482 ms/op 0.94
digest64 50023 times 72.258 ms/op 72.690 ms/op 0.99
digest 50023 times 72.244 ms/op 71.981 ms/op 1.00
input length 32 1.7770 us/op 1.7910 us/op 0.99
input length 64 1.9540 us/op 1.9380 us/op 1.01
input length 128 3.3560 us/op 3.3650 us/op 1.00
input length 256 4.9270 us/op 5.0020 us/op 0.99
input length 512 8.2020 us/op 8.1290 us/op 1.01
input length 1024 16.130 us/op 16.154 us/op 1.00
digest 1000000 times 1.3094 s/op 1.2377 s/op 1.06
hashObjectToByteArray 50023 times 2.8772 ms/op 2.8553 ms/op 1.01
byteArrayToHashObject 50023 times 3.1809 ms/op 3.5048 ms/op 0.91
getGindicesAtDepth 7.3090 us/op 7.5140 us/op 0.97
iterateAtDepth 15.229 us/op 15.101 us/op 1.01
getGindexBits 723.00 ns/op 692.00 ns/op 1.04
gindexIterator 1.5850 us/op 1.5750 us/op 1.01
hash 2 Uint8Array 2250026 times - as-sha256 3.2783 s/op 3.2676 s/op 1.00
hashTwoObjects 2250026 times - as-sha256 3.1440 s/op 3.1457 s/op 1.00
hash 2 Uint8Array 2250026 times - noble 10.130 s/op 11.157 s/op 0.91
hashTwoObjects 2250026 times - noble 12.145 s/op 14.060 s/op 0.86
getNodeH() x7812.5 avg hindex 28.872 us/op 29.553 us/op 0.98
getNodeH() x7812.5 index 0 10.130 us/op 10.521 us/op 0.96
getNodeH() x7812.5 index 7 10.200 us/op 10.496 us/op 0.97
getNodeH() x7812.5 index 7 with key array 10.181 us/op 10.582 us/op 0.96
new LeafNode() x7812.5 343.35 us/op 357.00 us/op 0.96
multiproof - depth 15, 1 requested leaves 16.996 us/op 18.819 us/op 0.90
tree offset multiproof - depth 15, 1 requested leaves 37.383 us/op 41.209 us/op 0.91
compact multiproof - depth 15, 1 requested leaves 9.2600 us/op 10.233 us/op 0.90
multiproof - depth 15, 2 requested leaves 22.594 us/op 24.520 us/op 0.92
tree offset multiproof - depth 15, 2 requested leaves 39.847 us/op 42.086 us/op 0.95
compact multiproof - depth 15, 2 requested leaves 5.5780 us/op 5.5980 us/op 1.00
multiproof - depth 15, 3 requested leaves 31.450 us/op 37.057 us/op 0.85
tree offset multiproof - depth 15, 3 requested leaves 52.584 us/op 57.983 us/op 0.91
compact multiproof - depth 15, 3 requested leaves 9.4570 us/op 11.342 us/op 0.83
multiproof - depth 15, 4 requested leaves 41.288 us/op 46.399 us/op 0.89
tree offset multiproof - depth 15, 4 requested leaves 64.962 us/op 70.028 us/op 0.93
compact multiproof - depth 15, 4 requested leaves 10.532 us/op 11.737 us/op 0.90
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.0250 us/op 4.2180 us/op 1.19
packedRootsBytesToLeafNodes bytes 4000 offset 1 3.9690 us/op 4.2700 us/op 0.93
packedRootsBytesToLeafNodes bytes 4000 offset 2 3.8740 us/op 4.3860 us/op 0.88
packedRootsBytesToLeafNodes bytes 4000 offset 3 3.8540 us/op 4.3410 us/op 0.89
subtreeFillToContents depth 40 count 250000 94.566 ms/op 102.98 ms/op 0.92
setRoot - gindexBitstring 14.719 ms/op 17.151 ms/op 0.86
setRoot - gindex 15.324 ms/op 19.465 ms/op 0.79
getRoot - gindexBitstring 4.1405 ms/op 4.6513 ms/op 0.89
getRoot - gindex 4.9711 ms/op 5.5455 ms/op 0.90
getHashObject then setHashObject 17.603 ms/op 19.217 ms/op 0.92
setNodeWithFn 15.356 ms/op 20.222 ms/op 0.76
getNodeAtDepth depth 0 x100000 2.7397 ms/op 2.7657 ms/op 0.99
setNodeAtDepth depth 0 x100000 4.7075 ms/op 5.2287 ms/op 0.90
getNodesAtDepth depth 0 x100000 2.1886 ms/op 2.1662 ms/op 1.01
setNodesAtDepth depth 0 x100000 3.0608 ms/op 3.0780 ms/op 0.99
getNodeAtDepth depth 1 x100000 2.7879 ms/op 2.8524 ms/op 0.98
setNodeAtDepth depth 1 x100000 10.855 ms/op 11.121 ms/op 0.98
getNodesAtDepth depth 1 x100000 2.4302 ms/op 2.4207 ms/op 1.00
setNodesAtDepth depth 1 x100000 8.6153 ms/op 10.356 ms/op 0.83
getNodeAtDepth depth 2 x100000 3.3396 ms/op 3.3520 ms/op 1.00
setNodeAtDepth depth 2 x100000 17.471 ms/op 18.902 ms/op 0.92
getNodesAtDepth depth 2 x100000 32.659 ms/op 33.032 ms/op 0.99
setNodesAtDepth depth 2 x100000 23.514 ms/op 24.027 ms/op 0.98
tree.getNodesAtDepth - gindexes 9.6860 ms/op 10.088 ms/op 0.96
tree.getNodesAtDepth - push all nodes 3.0147 ms/op 3.1162 ms/op 0.97
tree.getNodesAtDepth - navigation 201.76 us/op 201.72 us/op 1.00
tree.setNodesAtDepth - indexes 632.98 us/op 674.69 us/op 0.94
set at depth 8 781.00 ns/op 843.00 ns/op 0.93
set at depth 16 1.0270 us/op 1.0980 us/op 0.94
set at depth 32 1.6340 us/op 1.7810 us/op 0.92
iterateNodesAtDepth 8 256 26.108 us/op 27.831 us/op 0.94
getNodesAtDepth 8 256 6.8060 us/op 6.9560 us/op 0.98
iterateNodesAtDepth 16 65536 7.9555 ms/op 7.9510 ms/op 1.00
getNodesAtDepth 16 65536 2.8093 ms/op 3.0644 ms/op 0.92
iterateNodesAtDepth 32 250000 29.395 ms/op 29.789 ms/op 0.99
getNodesAtDepth 32 250000 8.0787 ms/op 9.1581 ms/op 0.88
iterateNodesAtDepth 40 250000 29.502 ms/op 29.687 ms/op 0.99
getNodesAtDepth 40 250000 8.1479 ms/op 9.6536 ms/op 0.84
250k validators 11.825 s/op 13.968 s/op 0.85
bitlist bytes to struct (120,90) 849.00 ns/op 1.2060 us/op 0.70
bitlist bytes to tree (120,90) 3.9060 us/op 4.7990 us/op 0.81
bitlist bytes to struct (2048,2048) 1.9060 us/op 2.4480 us/op 0.78
bitlist bytes to tree (2048,2048) 6.6040 us/op 9.1290 us/op 0.72
ByteListType - deserialize 19.646 ms/op 21.784 ms/op 0.90
BasicListType - deserialize 16.459 ms/op 22.098 ms/op 0.74
ByteListType - serialize 18.916 ms/op 23.220 ms/op 0.81
BasicListType - serialize 19.538 ms/op 26.676 ms/op 0.73
BasicListType - tree_convertToStruct 56.513 ms/op 51.976 ms/op 1.09
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 6.2877 ms/op 7.3430 ms/op 0.86
List[uint8, 68719476736] len 300000 ViewDU.get(i) 6.9498 ms/op 7.5966 ms/op 0.91
Array.push len 300000 empty Array - number 9.6426 ms/op 10.728 ms/op 0.90
Array.set len 300000 from new Array - number 2.5992 ms/op 3.2418 ms/op 0.80
Array.set len 300000 - number 9.5465 ms/op 10.523 ms/op 0.91
Uint8Array.set len 300000 319.37 us/op 332.64 us/op 0.96
Uint32Array.set len 300000 424.86 us/op 483.37 us/op 0.88
Container({a: uint8, b: uint8}) getViewDU x300000 98.266 ms/op 41.927 ms/op 2.34
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 21.257 ms/op 15.398 ms/op 1.38
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 629.08 ms/op 678.96 ms/op 0.93
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 538.66 ms/op 551.05 ms/op 0.98
List(Container) len 300000 ViewDU.get(i) 12.428 ms/op 15.504 ms/op 0.80
List(Container) len 300000 ViewDU.getReadonly(i) 11.807 ms/op 12.579 ms/op 0.94
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 76.686 ms/op 68.769 ms/op 1.12
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 9.7727 ms/op 10.332 ms/op 0.95
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 10.818 ms/op 11.703 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 10.329 ms/op 12.848 ms/op 0.80
Array.push len 300000 empty Array - object 9.7187 ms/op 10.053 ms/op 0.97
Array.set len 300000 from new Array - object 3.4268 ms/op 4.3041 ms/op 0.80
Array.set len 300000 - object 9.7944 ms/op 10.066 ms/op 0.97
cachePermanentRootStruct no cache 14.280 us/op 14.533 us/op 0.98
cachePermanentRootStruct with cache 357.00 ns/op 360.00 ns/op 0.99
epochParticipation len 250000 rws 7813 3.8004 ms/op 3.8767 ms/op 0.98
deserialize Attestation - tree 5.1150 us/op 5.9050 us/op 0.87
deserialize Attestation - struct 3.4920 us/op 3.7310 us/op 0.94
deserialize SignedAggregateAndProof - tree 6.5410 us/op 7.0570 us/op 0.93
deserialize SignedAggregateAndProof - struct 5.4560 us/op 5.7200 us/op 0.95
deserialize SyncCommitteeMessage - tree 1.8180 us/op 1.7340 us/op 1.05
deserialize SyncCommitteeMessage - struct 2.1050 us/op 2.1860 us/op 0.96
deserialize SignedContributionAndProof - tree 3.6110 us/op 3.4630 us/op 1.04
deserialize SignedContributionAndProof - struct 4.5560 us/op 5.1350 us/op 0.89
deserialize SignedBeaconBlock - tree 368.52 us/op 418.62 us/op 0.88
deserialize SignedBeaconBlock - struct 242.61 us/op 280.47 us/op 0.87
BeaconState vc 300000 - deserialize tree 1.0660 s/op 1.1493 s/op 0.93
BeaconState vc 300000 - serialize tree 358.57 ms/op 342.28 ms/op 1.05
BeaconState.historicalRoots vc 300000 - deserialize tree 1.2960 us/op 1.5100 us/op 0.86
BeaconState.historicalRoots vc 300000 - serialize tree 1.3760 us/op 1.5100 us/op 0.91
BeaconState.validators vc 300000 - deserialize tree 1.1105 s/op 1.1530 s/op 0.96
BeaconState.validators vc 300000 - serialize tree 296.08 ms/op 317.07 ms/op 0.93
BeaconState.balances vc 300000 - deserialize tree 41.555 ms/op 47.503 ms/op 0.87
BeaconState.balances vc 300000 - serialize tree 6.8881 ms/op 7.2469 ms/op 0.95
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 840.92 us/op 937.08 us/op 0.90
BeaconState.previousEpochParticipation vc 300000 - serialize tree 542.09 us/op 533.73 us/op 1.02
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 769.78 us/op 844.09 us/op 0.91
BeaconState.currentEpochParticipation vc 300000 - serialize tree 532.44 us/op 532.50 us/op 1.00
BeaconState.inactivityScores vc 300000 - deserialize tree 49.959 ms/op 47.766 ms/op 1.05
BeaconState.inactivityScores vc 300000 - serialize tree 5.6853 ms/op 7.1206 ms/op 0.80
hashTreeRoot Attestation - struct 43.619 us/op 56.563 us/op 0.77
hashTreeRoot Attestation - tree 26.578 us/op 31.263 us/op 0.85
hashTreeRoot SignedAggregateAndProof - struct 60.661 us/op 81.687 us/op 0.74
hashTreeRoot SignedAggregateAndProof - tree 41.676 us/op 42.560 us/op 0.98
hashTreeRoot SyncCommitteeMessage - struct 14.285 us/op 18.580 us/op 0.77
hashTreeRoot SyncCommitteeMessage - tree 9.7860 us/op 9.1570 us/op 1.07
hashTreeRoot SignedContributionAndProof - struct 40.388 us/op 47.550 us/op 0.85
hashTreeRoot SignedContributionAndProof - tree 27.423 us/op 30.342 us/op 0.90
hashTreeRoot SignedBeaconBlock - struct 3.5924 ms/op 4.1959 ms/op 0.86
hashTreeRoot SignedBeaconBlock - tree 2.4350 ms/op 2.4335 ms/op 1.00
hashTreeRoot Validator - struct 19.764 us/op 21.146 us/op 0.93
hashTreeRoot Validator - tree 16.495 us/op 16.970 us/op 0.97
BeaconState vc 300000 - hashTreeRoot tree 5.2968 s/op 5.3988 s/op 0.98
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 2.1500 us/op 2.2020 us/op 0.98
BeaconState.validators vc 300000 - hashTreeRoot tree 5.1326 s/op 5.1575 s/op 1.00
BeaconState.balances vc 300000 - hashTreeRoot tree 133.30 ms/op 125.35 ms/op 1.06
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 13.291 ms/op 13.299 ms/op 1.00
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 13.295 ms/op 13.272 ms/op 1.00
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 133.34 ms/op 137.80 ms/op 0.97
hash64 x18 29.151 us/op 31.263 us/op 0.93
hashTwoObjects x18 26.425 us/op 26.801 us/op 0.99
hash64 x1740 2.7595 ms/op 2.7682 ms/op 1.00
hashTwoObjects x1740 2.4972 ms/op 2.4813 ms/op 1.01
hash64 x2700000 4.2598 s/op 4.2523 s/op 1.00
hashTwoObjects x2700000 3.8833 s/op 3.8516 s/op 1.01
get_exitEpoch - ContainerType 560.00 ns/op 692.00 ns/op 0.81
get_exitEpoch - ContainerNodeStructType 469.00 ns/op 567.00 ns/op 0.83
set_exitEpoch - ContainerType 518.00 ns/op 631.00 ns/op 0.82
set_exitEpoch - ContainerNodeStructType 362.00 ns/op 605.00 ns/op 0.60
get_pubkey - ContainerType 1.7660 us/op 2.3260 us/op 0.76
get_pubkey - ContainerNodeStructType 351.00 ns/op 623.00 ns/op 0.56
hashTreeRoot - ContainerType 613.00 ns/op 705.00 ns/op 0.87
hashTreeRoot - ContainerNodeStructType 672.00 ns/op 805.00 ns/op 0.83
createProof - ContainerType 7.3400 us/op 7.6340 us/op 0.96
createProof - ContainerNodeStructType 39.685 us/op 40.718 us/op 0.97
serialize - ContainerType 3.3650 us/op 3.6450 us/op 0.92
serialize - ContainerNodeStructType 2.6070 us/op 3.0200 us/op 0.86
set_exitEpoch_and_hashTreeRoot - ContainerType 6.4070 us/op 6.4940 us/op 0.99
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 17.669 us/op 18.087 us/op 0.98
Array - for of 12.713 us/op 12.575 us/op 1.01
Array - for(;;) 8.7020 us/op 8.6510 us/op 1.01
basicListValue.readonlyValuesArray() 6.2502 ms/op 7.4797 ms/op 0.84
basicListValue.readonlyValuesArray() + loop all 6.5112 ms/op 7.4129 ms/op 0.88
compositeListValue.readonlyValuesArray() 43.574 ms/op 48.187 ms/op 0.90
compositeListValue.readonlyValuesArray() + loop all 36.996 ms/op 43.811 ms/op 0.84
Number64UintType - get balances list 7.4170 ms/op 7.1981 ms/op 1.03
Number64UintType - set balances list 15.142 ms/op 16.994 ms/op 0.89
Number64UintType - get and increase 10 then set 73.022 ms/op 68.026 ms/op 1.07
Number64UintType - increase 10 using applyDelta 28.081 ms/op 29.042 ms/op 0.97
Number64UintType - increase 10 using applyDeltaInBatch 28.086 ms/op 29.292 ms/op 0.96
tree_newTreeFromUint64Deltas 29.495 ms/op 32.063 ms/op 0.92
unsafeUint8ArrayToTree 53.253 ms/op 58.601 ms/op 0.91
bitLength(50) 356.00 ns/op 406.00 ns/op 0.88
bitLengthStr(50) 426.00 ns/op 468.00 ns/op 0.91
bitLength(8000) 355.00 ns/op 377.00 ns/op 0.94
bitLengthStr(8000) 595.00 ns/op 597.00 ns/op 1.00
bitLength(250000) 355.00 ns/op 369.00 ns/op 0.96
bitLengthStr(250000) 695.00 ns/op 708.00 ns/op 0.98
floor - Math.floor (53) 0.80399 ns/op 0.79967 ns/op 1.01
floor - << 0 (53) 0.80380 ns/op 0.80415 ns/op 1.00
floor - Math.floor (512) 0.80375 ns/op 0.80413 ns/op 1.00
floor - << 0 (512) 0.80402 ns/op 0.80355 ns/op 1.00
fnIf(0) 3.2134 ns/op 3.1851 ns/op 1.01
fnSwitch(0) 6.0241 ns/op 6.0183 ns/op 1.00
fnObj(0) 0.80370 ns/op 0.80432 ns/op 1.00
fnArr(0) 0.80374 ns/op 0.80405 ns/op 1.00
fnIf(4) 5.2221 ns/op 5.2224 ns/op 1.00
fnSwitch(4) 6.0247 ns/op 6.0304 ns/op 1.00
fnObj(4) 0.80388 ns/op 0.80351 ns/op 1.00
fnArr(4) 0.80378 ns/op 0.79949 ns/op 1.01
fnIf(9) 8.0333 ns/op 8.0197 ns/op 1.00
fnSwitch(9) 6.0294 ns/op 6.0324 ns/op 1.00
fnObj(9) 0.80386 ns/op 0.80415 ns/op 1.00
fnArr(9) 0.80371 ns/op 0.80070 ns/op 1.00
Container {a,b,vec} - as struct x100000 80.784 us/op 80.829 us/op 1.00
Container {a,b,vec} - as tree x100000 1.0045 ms/op 999.88 us/op 1.00
Container {a,vec,b} - as struct x100000 121.03 us/op 121.02 us/op 1.00
Container {a,vec,b} - as tree x100000 1.0848 ms/op 1.0847 ms/op 1.00
get 2 props x1000000 - rawObject 402.23 us/op 394.08 us/op 1.02
get 2 props x1000000 - proxy 162.84 ms/op 160.16 ms/op 1.02
get 2 props x1000000 - customObj 402.20 us/op 402.27 us/op 1.00
Simple object binary -> struct 1.0930 us/op 1.4450 us/op 0.76
Simple object binary -> tree_backed 3.4110 us/op 4.0300 us/op 0.85
Simple object struct -> tree_backed 4.2770 us/op 5.1090 us/op 0.84
Simple object tree_backed -> struct 3.5910 us/op 4.3010 us/op 0.83
Simple object struct -> binary 1.7380 us/op 2.3550 us/op 0.74
Simple object tree_backed -> binary 2.9770 us/op 3.7980 us/op 0.78
aggregationBits binary -> struct 1.0450 us/op 1.3540 us/op 0.77
aggregationBits binary -> tree_backed 4.1920 us/op 5.4510 us/op 0.77
aggregationBits struct -> tree_backed 5.2460 us/op 5.6340 us/op 0.93
aggregationBits tree_backed -> struct 2.0600 us/op 2.1750 us/op 0.95
aggregationBits struct -> binary 1.4930 us/op 1.6730 us/op 0.89
aggregationBits tree_backed -> binary 1.8700 us/op 1.9360 us/op 0.97
List(uint8) 100000 binary -> struct 2.2762 ms/op 2.7000 ms/op 0.84
List(uint8) 100000 binary -> tree_backed 171.08 us/op 185.88 us/op 0.92
List(uint8) 100000 struct -> tree_backed 2.4573 ms/op 2.4798 ms/op 0.99
List(uint8) 100000 tree_backed -> struct 1.7705 ms/op 1.9649 ms/op 0.90
List(uint8) 100000 struct -> binary 2.2911 ms/op 2.4895 ms/op 0.92
List(uint8) 100000 tree_backed -> binary 166.68 us/op 172.06 us/op 0.97
List(uint64Number) 100000 binary -> struct 1.9075 ms/op 1.9545 ms/op 0.98
List(uint64Number) 100000 binary -> tree_backed 5.5788 ms/op 6.0137 ms/op 0.93
List(uint64Number) 100000 struct -> tree_backed 8.0233 ms/op 8.5942 ms/op 0.93
List(uint64Number) 100000 tree_backed -> struct 3.5077 ms/op 3.6811 ms/op 0.95
List(uint64Number) 100000 struct -> binary 2.6225 ms/op 2.7027 ms/op 0.97
List(uint64Number) 100000 tree_backed -> binary 1.6890 ms/op 2.0917 ms/op 0.81
List(Uint64Bigint) 100000 binary -> struct 6.1038 ms/op 6.3737 ms/op 0.96
List(Uint64Bigint) 100000 binary -> tree_backed 6.1583 ms/op 6.6982 ms/op 0.92
List(Uint64Bigint) 100000 struct -> tree_backed 10.476 ms/op 9.6897 ms/op 1.08
List(Uint64Bigint) 100000 tree_backed -> struct 7.7781 ms/op 7.8762 ms/op 0.99
List(Uint64Bigint) 100000 struct -> binary 3.5105 ms/op 3.4994 ms/op 1.00
List(Uint64Bigint) 100000 tree_backed -> binary 1.7376 ms/op 1.8124 ms/op 0.96
Vector(Root) 100000 binary -> struct 61.068 ms/op 63.816 ms/op 0.96
Vector(Root) 100000 binary -> tree_backed 64.861 ms/op 69.267 ms/op 0.94
Vector(Root) 100000 struct -> tree_backed 74.120 ms/op 77.996 ms/op 0.95
Vector(Root) 100000 tree_backed -> struct 84.817 ms/op 91.153 ms/op 0.93
Vector(Root) 100000 struct -> binary 3.7856 ms/op 3.8784 ms/op 0.98
Vector(Root) 100000 tree_backed -> binary 15.614 ms/op 16.427 ms/op 0.95
List(Validator) 100000 binary -> struct 229.19 ms/op 241.93 ms/op 0.95
List(Validator) 100000 binary -> tree_backed 568.04 ms/op 606.28 ms/op 0.94
List(Validator) 100000 struct -> tree_backed 620.55 ms/op 650.81 ms/op 0.95
List(Validator) 100000 tree_backed -> struct 369.07 ms/op 380.97 ms/op 0.97
List(Validator) 100000 struct -> binary 56.431 ms/op 56.705 ms/op 1.00
List(Validator) 100000 tree_backed -> binary 161.32 ms/op 162.83 ms/op 0.99
List(Validator-NS) 100000 binary -> struct 234.70 ms/op 247.78 ms/op 0.95
List(Validator-NS) 100000 binary -> tree_backed 307.58 ms/op 319.31 ms/op 0.96
List(Validator-NS) 100000 struct -> tree_backed 387.53 ms/op 394.86 ms/op 0.98
List(Validator-NS) 100000 tree_backed -> struct 320.94 ms/op 333.16 ms/op 0.96
List(Validator-NS) 100000 struct -> binary 56.123 ms/op 59.253 ms/op 0.95
List(Validator-NS) 100000 tree_backed -> binary 63.911 ms/op 68.489 ms/op 0.93
get epochStatuses - MutableVector 142.24 us/op 142.22 us/op 1.00
get epochStatuses - ViewDU 337.48 us/op 325.62 us/op 1.04
set epochStatuses - ListTreeView 2.5334 ms/op 2.4569 ms/op 1.03
set epochStatuses - ListTreeView - set() 739.66 us/op 726.72 us/op 1.02
set epochStatuses - ListTreeView - commit() 805.56 us/op 769.04 us/op 1.05
bitstring 895.97 ns/op 894.61 ns/op 1.00
bit mask 15.360 ns/op 15.300 ns/op 1.00
struct - increase slot to 1000000 2.6245 ms/op 2.6193 ms/op 1.00
UintNumberType - increase slot to 1000000 57.812 ms/op 57.420 ms/op 1.01
UintBigintType - increase slot to 1000000 708.71 ms/op 737.63 ms/op 0.96
UintBigint8 x 100000 tree_deserialize 7.2334 ms/op 14.803 ms/op 0.49
UintBigint8 x 100000 tree_serialize 2.4331 ms/op 2.4166 ms/op 1.01
UintBigint16 x 100000 tree_deserialize 6.7470 ms/op 6.9733 ms/op 0.97
UintBigint16 x 100000 tree_serialize 2.6066 ms/op 2.6234 ms/op 0.99
UintBigint32 x 100000 tree_deserialize 7.9080 ms/op 9.3372 ms/op 0.85
UintBigint32 x 100000 tree_serialize 2.2811 ms/op 2.4554 ms/op 0.93
UintBigint64 x 100000 tree_deserialize 8.4958 ms/op 9.5181 ms/op 0.89
UintBigint64 x 100000 tree_serialize 3.0517 ms/op 3.1102 ms/op 0.98
UintBigint8 x 100000 value_deserialize 1.0448 ms/op 1.0455 ms/op 1.00
UintBigint8 x 100000 value_serialize 1.4089 ms/op 1.3712 ms/op 1.03
UintBigint16 x 100000 value_deserialize 1.1195 ms/op 1.1230 ms/op 1.00
UintBigint16 x 100000 value_serialize 1.5501 ms/op 1.4747 ms/op 1.05
UintBigint32 x 100000 value_deserialize 1.0096 ms/op 1.0043 ms/op 1.01
UintBigint32 x 100000 value_serialize 1.5284 ms/op 1.6030 ms/op 0.95
UintBigint64 x 100000 value_deserialize 1.0952 ms/op 1.0838 ms/op 1.01
UintBigint64 x 100000 value_serialize 1.8367 ms/op 1.8786 ms/op 0.98
UintBigint8 x 100000 deserialize 8.6493 ms/op 8.4172 ms/op 1.03
UintBigint8 x 100000 serialize 3.0520 ms/op 3.1502 ms/op 0.97
UintBigint16 x 100000 deserialize 7.8456 ms/op 8.6463 ms/op 0.91
UintBigint16 x 100000 serialize 3.0798 ms/op 3.4129 ms/op 0.90
UintBigint32 x 100000 deserialize 9.5254 ms/op 9.3981 ms/op 1.01
UintBigint32 x 100000 serialize 5.1828 ms/op 5.2683 ms/op 0.98
UintBigint64 x 100000 deserialize 6.1926 ms/op 6.1009 ms/op 1.02
UintBigint64 x 100000 serialize 2.8866 ms/op 2.9283 ms/op 0.99
UintBigint128 x 100000 deserialize 10.213 ms/op 9.8771 ms/op 1.03
UintBigint128 x 100000 serialize 33.098 ms/op 32.815 ms/op 1.01
UintBigint256 x 100000 deserialize 19.262 ms/op 18.242 ms/op 1.06
UintBigint256 x 100000 serialize 98.873 ms/op 98.541 ms/op 1.00
Slice from Uint8Array x25000 1.8839 ms/op 1.9105 ms/op 0.99
Slice from ArrayBuffer x25000 33.372 ms/op 34.187 ms/op 0.98
Slice from ArrayBuffer x25000 + new Uint8Array 36.385 ms/op 37.211 ms/op 0.98
Copy Uint8Array 100000 iterate 1.7594 ms/op 1.7642 ms/op 1.00
Copy Uint8Array 100000 slice 294.86 us/op 185.33 us/op 1.59
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 298.15 us/op 156.99 us/op 1.90
Copy Buffer 100000 Uint8Array.prototype.slice.call 335.51 us/op 159.32 us/op 2.11
Copy Uint8Array 100000 slice + set 624.75 us/op 433.38 us/op 1.44
Copy Uint8Array 100000 subarray + set 377.16 us/op 185.01 us/op 2.04
Copy Uint8Array 100000 slice arrayBuffer 299.50 us/op 177.11 us/op 1.69
Uint64 deserialize 100000 - iterate Uint8Array 2.5898 ms/op 2.6777 ms/op 0.97
Uint64 deserialize 100000 - by Uint32A 2.3502 ms/op 2.5292 ms/op 0.93
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.4431 ms/op 2.7389 ms/op 0.89
Uint64 deserialize 100000 - by DataView.getBigUint64 7.8402 ms/op 8.2628 ms/op 0.95
Uint64 deserialize 100000 - by byte 82.354 ms/op 82.776 ms/op 0.99

by benchmarkbot/action

Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

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

lgtm

@nflaig nflaig merged commit 424b426 into master May 3, 2023
@nflaig nflaig deleted the nflaig/show-error-popup branch May 3, 2023 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show errors during serialization/deserialization
2 participants