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

feat: add electra to simpleserialize.com #418

Merged
merged 2 commits into from
Nov 13, 2024
Merged

feat: add electra to simpleserialize.com #418

merged 2 commits into from
Nov 13, 2024

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Oct 29, 2024

  • Adding Electra (as of v1.5.0-alpha.8) support to simpleserialize.com

Deneb will remain as default fork as Electra is not live yet.

@ensi321 ensi321 marked this pull request as ready for review November 12, 2024 03:33
@ensi321 ensi321 requested a review from a team as a code owner November 12, 2024 03:33
Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4ceec60 Previous: e58781f Ratio
digestTwoHashObjects 50023 times 48.200 ms/op 48.243 ms/op 1.00
digest64 50023 times 53.768 ms/op 53.846 ms/op 1.00
digest 50023 times 55.682 ms/op 55.442 ms/op 1.00
input length 32 1.1940 us/op 1.2160 us/op 0.98
input length 64 1.3480 us/op 1.3420 us/op 1.00
input length 128 2.2950 us/op 2.2870 us/op 1.00
input length 256 3.4260 us/op 3.3970 us/op 1.01
input length 512 5.6440 us/op 5.6410 us/op 1.00
input length 1024 11.068 us/op 11.105 us/op 1.00
digest 1000000 times 903.37 ms/op 887.39 ms/op 1.02
hashObjectToByteArray 50023 times 1.7330 ms/op 1.7092 ms/op 1.01
byteArrayToHashObject 50023 times 2.3257 ms/op 2.3218 ms/op 1.00
digest64 200092 times 224.91 ms/op 219.70 ms/op 1.02
hash 200092 times using batchHash4UintArray64s 244.24 ms/op 237.40 ms/op 1.03
digest64HashObjects 200092 times 197.00 ms/op 197.01 ms/op 1.00
hash 200092 times using batchHash4HashObjectInputs 203.17 ms/op 202.27 ms/op 1.00
getGindicesAtDepth 4.1820 us/op 4.2090 us/op 0.99
iterateAtDepth 7.6330 us/op 7.6830 us/op 0.99
getGindexBits 477.00 ns/op 458.00 ns/op 1.04
gindexIterator 1.0440 us/op 1.0570 us/op 0.99
HashComputationLevel.push then loop 27.033 ms/op 26.744 ms/op 1.01
HashComputation[] push then loop 48.395 ms/op 49.699 ms/op 0.97
hash 2 Uint8Array 500000 times - as-sha256 544.11 ms/op 542.64 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 499.64 ms/op 506.48 ms/op 0.99
executeHashComputations - as-sha256 49.988 ms/op 46.500 ms/op 1.08
hash 2 Uint8Array 500000 times - noble 1.2187 s/op 1.2005 s/op 1.02
hashTwoObjects 500000 times - noble 1.7280 s/op 1.7027 s/op 1.01
executeHashComputations - noble 41.674 ms/op 43.488 ms/op 0.96
hash 2 Uint8Array 500000 times - hashtree 230.91 ms/op 221.65 ms/op 1.04
hashTwoObjects 500000 times - hashtree 214.90 ms/op 210.11 ms/op 1.02
executeHashComputations - hashtree 9.3657 ms/op 11.860 ms/op 0.79
getHashComputations 2.8547 ms/op 2.7888 ms/op 1.02
executeHashComputations 11.420 ms/op 12.028 ms/op 0.95
get root 18.553 ms/op 18.120 ms/op 1.02
getNodeH() x7812.5 avg hindex 11.941 us/op 11.963 us/op 1.00
getNodeH() x7812.5 index 0 6.2430 us/op 6.2460 us/op 1.00
getNodeH() x7812.5 index 7 6.3100 us/op 6.2880 us/op 1.00
getNodeH() x7812.5 index 7 with key array 6.2300 us/op 6.2660 us/op 0.99
new LeafNode() x7812.5 14.660 us/op 14.767 us/op 0.99
getHashComputations 250000 nodes 19.900 ms/op 19.834 ms/op 1.00
batchHash 250000 nodes 89.160 ms/op 88.667 ms/op 1.01
get root 250000 nodes 117.77 ms/op 115.88 ms/op 1.02
getHashComputations 500000 nodes 31.218 ms/op 26.421 ms/op 1.18
batchHash 500000 nodes 169.32 ms/op 167.13 ms/op 1.01
get root 500000 nodes 235.88 ms/op 229.90 ms/op 1.03
getHashComputations 1000000 nodes 75.765 ms/op 74.207 ms/op 1.02
batchHash 1000000 nodes 380.70 ms/op 359.23 ms/op 1.06
get root 1000000 nodes 467.60 ms/op 477.74 ms/op 0.98
multiproof - depth 15, 1 requested leaves 8.9290 us/op 8.2080 us/op 1.09
tree offset multiproof - depth 15, 1 requested leaves 20.201 us/op 18.153 us/op 1.11
compact multiproof - depth 15, 1 requested leaves 3.8420 us/op 3.5000 us/op 1.10
multiproof - depth 15, 2 requested leaves 12.653 us/op 11.886 us/op 1.06
tree offset multiproof - depth 15, 2 requested leaves 23.472 us/op 22.621 us/op 1.04
compact multiproof - depth 15, 2 requested leaves 3.8010 us/op 3.5070 us/op 1.08
multiproof - depth 15, 3 requested leaves 17.345 us/op 16.968 us/op 1.02
tree offset multiproof - depth 15, 3 requested leaves 30.771 us/op 29.267 us/op 1.05
compact multiproof - depth 15, 3 requested leaves 4.6330 us/op 4.1610 us/op 1.11
multiproof - depth 15, 4 requested leaves 24.866 us/op 23.212 us/op 1.07
tree offset multiproof - depth 15, 4 requested leaves 39.975 us/op 33.747 us/op 1.18
compact multiproof - depth 15, 4 requested leaves 6.0330 us/op 4.8340 us/op 1.25
packedRootsBytesToLeafNodes bytes 4000 offset 0 2.2430 us/op 1.9940 us/op 1.12
packedRootsBytesToLeafNodes bytes 4000 offset 1 2.2200 us/op 1.9880 us/op 1.12
packedRootsBytesToLeafNodes bytes 4000 offset 2 2.2290 us/op 2.0170 us/op 1.11
packedRootsBytesToLeafNodes bytes 4000 offset 3 2.2210 us/op 2.0030 us/op 1.11
subtreeFillToContents depth 40 count 250000 44.662 ms/op 44.179 ms/op 1.01
setRoot - gindexBitstring 9.6619 ms/op 9.0113 ms/op 1.07
setRoot - gindex 10.331 ms/op 9.2688 ms/op 1.11
getRoot - gindexBitstring 2.5252 ms/op 2.4680 ms/op 1.02
getRoot - gindex 3.3015 ms/op 3.2010 ms/op 1.03
getHashObject then setHashObject 10.118 ms/op 9.8988 ms/op 1.02
setNodeWithFn 8.0193 ms/op 7.6070 ms/op 1.05
getNodeAtDepth depth 0 x100000 1.1151 ms/op 1.1146 ms/op 1.00
setNodeAtDepth depth 0 x100000 2.7368 ms/op 2.4256 ms/op 1.13
getNodesAtDepth depth 0 x100000 1.0564 ms/op 1.0526 ms/op 1.00
setNodesAtDepth depth 0 x100000 1.6175 ms/op 1.5199 ms/op 1.06
getNodeAtDepth depth 1 x100000 1.1966 ms/op 1.1876 ms/op 1.01
setNodeAtDepth depth 1 x100000 5.4290 ms/op 6.5339 ms/op 0.83
getNodesAtDepth depth 1 x100000 1.1769 ms/op 1.1782 ms/op 1.00
setNodesAtDepth depth 1 x100000 5.1849 ms/op 4.6101 ms/op 1.12
getNodeAtDepth depth 2 x100000 1.5188 ms/op 1.4553 ms/op 1.04
setNodeAtDepth depth 2 x100000 9.8967 ms/op 9.0335 ms/op 1.10
getNodesAtDepth depth 2 x100000 19.357 ms/op 17.148 ms/op 1.13
setNodesAtDepth depth 2 x100000 13.521 ms/op 12.973 ms/op 1.04
tree.getNodesAtDepth - gindexes 8.6898 ms/op 7.5545 ms/op 1.15
tree.getNodesAtDepth - push all nodes 1.9298 ms/op 1.8291 ms/op 1.06
tree.getNodesAtDepth - navigation 234.64 us/op 235.13 us/op 1.00
tree.setNodesAtDepth - indexes 440.75 us/op 402.14 us/op 1.10
set at depth 8 506.00 ns/op 457.00 ns/op 1.11
set at depth 16 627.00 ns/op 590.00 ns/op 1.06
set at depth 32 970.00 ns/op 932.00 ns/op 1.04
iterateNodesAtDepth 8 256 13.422 us/op 13.012 us/op 1.03
getNodesAtDepth 8 256 3.4190 us/op 3.3990 us/op 1.01
iterateNodesAtDepth 16 65536 4.5281 ms/op 4.2236 ms/op 1.07
getNodesAtDepth 16 65536 1.6201 ms/op 1.5425 ms/op 1.05
iterateNodesAtDepth 32 250000 16.140 ms/op 15.836 ms/op 1.02
getNodesAtDepth 32 250000 4.4157 ms/op 4.2444 ms/op 1.04
iterateNodesAtDepth 40 250000 16.090 ms/op 15.697 ms/op 1.03
getNodesAtDepth 40 250000 4.3804 ms/op 4.3415 ms/op 1.01
250000 validators root getter 116.60 ms/op 116.32 ms/op 1.00
250000 validators batchHash() 94.886 ms/op 83.153 ms/op 1.14
250000 validators hashComputations 14.385 ms/op 17.111 ms/op 0.84
bitlist bytes to struct (120,90) 1.1040 us/op 912.00 ns/op 1.21
bitlist bytes to tree (120,90) 3.8890 us/op 3.7060 us/op 1.05
bitlist bytes to struct (2048,2048) 1.3710 us/op 1.3000 us/op 1.05
bitlist bytes to tree (2048,2048) 4.5660 us/op 4.1160 us/op 1.11
ByteListType - deserialize 7.9097 ms/op 7.6292 ms/op 1.04
BasicListType - deserialize 20.155 ms/op 17.349 ms/op 1.16
ByteListType - serialize 8.2617 ms/op 7.6450 ms/op 1.08
BasicListType - serialize 11.243 ms/op 10.296 ms/op 1.09
BasicListType - tree_convertToStruct 29.440 ms/op 29.534 ms/op 1.00
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 4.8836 ms/op 4.5576 ms/op 1.07
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.1129 ms/op 3.9833 ms/op 1.03
Array.push len 300000 empty Array - number 6.8492 ms/op 6.2896 ms/op 1.09
Array.set len 300000 from new Array - number 1.7627 ms/op 2.1278 ms/op 0.83
Array.set len 300000 - number 5.4373 ms/op 5.9731 ms/op 0.91
Uint8Array.set len 300000 491.42 us/op 486.54 us/op 1.01
Uint32Array.set len 300000 571.71 us/op 562.82 us/op 1.02
Container({a: uint8, b: uint8}) getViewDU x300000 46.596 ms/op 47.349 ms/op 0.98
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 11.084 ms/op 10.823 ms/op 1.02
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 211.03 ms/op 210.41 ms/op 1.00
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 247.89 ms/op 241.62 ms/op 1.03
List(Container) len 300000 ViewDU.get(i) 6.8498 ms/op 6.6224 ms/op 1.03
List(Container) len 300000 ViewDU.getReadonly(i) 6.6002 ms/op 6.3623 ms/op 1.04
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 35.311 ms/op 38.805 ms/op 0.91
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.3985 ms/op 4.5938 ms/op 1.18
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.1587 ms/op 6.0350 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 5.9200 ms/op 5.9905 ms/op 0.99
Array.push len 300000 empty Array - object 7.0985 ms/op 6.0831 ms/op 1.17
Array.set len 300000 from new Array - object 2.3272 ms/op 2.0601 ms/op 1.13
Array.set len 300000 - object 6.6343 ms/op 5.8596 ms/op 1.13
cachePermanentRootStruct no cache 5.2920 us/op 5.4530 us/op 0.97
cachePermanentRootStruct with cache 210.00 ns/op 198.00 ns/op 1.06
epochParticipation len 250000 rws 7813 2.1456 ms/op 2.2599 ms/op 0.95
BeaconState ViewDU hashTreeRoot() vc=200000 106.49 ms/op 105.82 ms/op 1.01
BeaconState ViewDU recursive hash - commit step vc=200000 4.2497 ms/op 4.4781 ms/op 0.95
BeaconState ViewDU validator tree creation vc=10000 36.098 ms/op 36.296 ms/op 0.99
BeaconState ViewDU batchHashTreeRoot vc=200000 96.447 ms/op 95.770 ms/op 1.01
BeaconState ViewDU hashTreeRoot - commit step vc=200000 85.104 ms/op 83.425 ms/op 1.02
BeaconState ViewDU hashTreeRoot - hash step vc=200000 15.879 ms/op 15.702 ms/op 1.01
deserialize Attestation - tree 4.4830 us/op 4.6820 us/op 0.96
deserialize Attestation - struct 2.0550 us/op 1.8740 us/op 1.10
deserialize SignedAggregateAndProof - tree 4.0930 us/op 3.9380 us/op 1.04
deserialize SignedAggregateAndProof - struct 3.1700 us/op 2.8760 us/op 1.10
deserialize SyncCommitteeMessage - tree 1.1360 us/op 1.1190 us/op 1.02
deserialize SyncCommitteeMessage - struct 1.1960 us/op 1.0660 us/op 1.12
deserialize SignedContributionAndProof - tree 2.1680 us/op 2.1980 us/op 0.99
deserialize SignedContributionAndProof - struct 2.3190 us/op 2.4530 us/op 0.95
deserialize SignedBeaconBlock - tree 227.52 us/op 220.45 us/op 1.03
deserialize SignedBeaconBlock - struct 131.41 us/op 120.94 us/op 1.09
BeaconState vc 300000 - deserialize tree 624.40 ms/op 625.35 ms/op 1.00
BeaconState vc 300000 - serialize tree 148.26 ms/op 167.11 ms/op 0.89
BeaconState.historicalRoots vc 300000 - deserialize tree 845.00 ns/op 740.00 ns/op 1.14
BeaconState.historicalRoots vc 300000 - serialize tree 678.00 ns/op 661.00 ns/op 1.03
BeaconState.validators vc 300000 - deserialize tree 610.12 ms/op 594.08 ms/op 1.03
BeaconState.validators vc 300000 - serialize tree 100.53 ms/op 102.95 ms/op 0.98
BeaconState.balances vc 300000 - deserialize tree 24.402 ms/op 23.774 ms/op 1.03
BeaconState.balances vc 300000 - serialize tree 4.9228 ms/op 3.5483 ms/op 1.39
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 648.29 us/op 407.23 us/op 1.59
BeaconState.previousEpochParticipation vc 300000 - serialize tree 346.53 us/op 300.47 us/op 1.15
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 397.44 us/op 367.26 us/op 1.08
BeaconState.currentEpochParticipation vc 300000 - serialize tree 291.04 us/op 303.44 us/op 0.96
BeaconState.inactivityScores vc 300000 - deserialize tree 24.195 ms/op 23.701 ms/op 1.02
BeaconState.inactivityScores vc 300000 - serialize tree 3.5072 ms/op 3.5339 ms/op 0.99
hashTreeRoot Attestation - struct 19.092 us/op 19.038 us/op 1.00
hashTreeRoot Attestation - tree 9.2540 us/op 9.1270 us/op 1.01
hashTreeRoot SignedAggregateAndProof - struct 23.974 us/op 24.357 us/op 0.98
hashTreeRoot SignedAggregateAndProof - tree 13.245 us/op 12.946 us/op 1.02
hashTreeRoot SyncCommitteeMessage - struct 6.1690 us/op 6.2560 us/op 0.99
hashTreeRoot SyncCommitteeMessage - tree 3.2070 us/op 3.1830 us/op 1.01
hashTreeRoot SignedContributionAndProof - struct 14.790 us/op 16.508 us/op 0.90
hashTreeRoot SignedContributionAndProof - tree 9.0130 us/op 8.8250 us/op 1.02
hashTreeRoot SignedBeaconBlock - struct 1.2776 ms/op 1.2691 ms/op 1.01
hashTreeRoot SignedBeaconBlock - tree 786.28 us/op 763.79 us/op 1.03
hashTreeRoot Validator - struct 7.7310 us/op 7.6760 us/op 1.01
hashTreeRoot Validator - tree 6.5240 us/op 6.6460 us/op 0.98
BeaconState vc 300000 - hashTreeRoot tree 2.2070 s/op 2.1538 s/op 1.02
BeaconState vc 300000 - batchHashTreeRoot tree 3.5159 s/op 3.5603 s/op 0.99
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0040 us/op 1.0680 us/op 0.94
BeaconState.validators vc 300000 - hashTreeRoot tree 2.2383 s/op 2.1477 s/op 1.04
BeaconState.balances vc 300000 - hashTreeRoot tree 34.375 ms/op 32.837 ms/op 1.05
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.1409 ms/op 4.2665 ms/op 0.97
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.1496 ms/op 4.1114 ms/op 1.01
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 33.781 ms/op 33.516 ms/op 1.01
hash64 x18 9.7980 us/op 9.2410 us/op 1.06
hashTwoObjects x18 8.8430 us/op 8.7090 us/op 1.02
hash64 x1740 885.98 us/op 877.38 us/op 1.01
hashTwoObjects x1740 827.04 us/op 813.89 us/op 1.02
hash64 x2700000 1.3866 s/op 1.3210 s/op 1.05
hashTwoObjects x2700000 1.2808 s/op 1.2764 s/op 1.00
get_exitEpoch - ContainerType 403.00 ns/op 369.00 ns/op 1.09
get_exitEpoch - ContainerNodeStructType 411.00 ns/op 388.00 ns/op 1.06
set_exitEpoch - ContainerType 412.00 ns/op 388.00 ns/op 1.06
set_exitEpoch - ContainerNodeStructType 415.00 ns/op 390.00 ns/op 1.06
get_pubkey - ContainerType 892.00 ns/op 1.4530 us/op 0.61
get_pubkey - ContainerNodeStructType 393.00 ns/op 368.00 ns/op 1.07
hashTreeRoot - ContainerType 713.00 ns/op 653.00 ns/op 1.09
hashTreeRoot - ContainerNodeStructType 729.00 ns/op 675.00 ns/op 1.08
createProof - ContainerType 7.0440 us/op 6.4280 us/op 1.10
createProof - ContainerNodeStructType 26.717 us/op 27.037 us/op 0.99
serialize - ContainerType 2.1540 us/op 2.1310 us/op 1.01
serialize - ContainerNodeStructType 1.4940 us/op 1.6440 us/op 0.91
set_exitEpoch_and_hashTreeRoot - ContainerType 2.9330 us/op 2.7420 us/op 1.07
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.0630 us/op 8.0520 us/op 0.88
Array - for of 5.5930 us/op 7.0080 us/op 0.80
Array - for(;;) 5.7150 us/op 7.1820 us/op 0.80
basicListValue.readonlyValuesArray() 3.8119 ms/op 4.3980 ms/op 0.87
basicListValue.readonlyValuesArray() + loop all 3.9325 ms/op 4.6682 ms/op 0.84
compositeListValue.readonlyValuesArray() 26.795 ms/op 30.292 ms/op 0.88
compositeListValue.readonlyValuesArray() + loop all 29.991 ms/op 30.032 ms/op 1.00
Number64UintType - get balances list 4.5540 ms/op 4.2023 ms/op 1.08
Number64UintType - set balances list 9.9063 ms/op 9.9380 ms/op 1.00
Number64UintType - get and increase 10 then set 41.027 ms/op 40.902 ms/op 1.00
Number64UintType - increase 10 using applyDelta 17.185 ms/op 16.656 ms/op 1.03
Number64UintType - increase 10 using applyDeltaInBatch 16.838 ms/op 17.329 ms/op 0.97
tree_newTreeFromUint64Deltas 17.260 ms/op 17.262 ms/op 1.00
unsafeUint8ArrayToTree 35.959 ms/op 33.193 ms/op 1.08
bitLength(50) 248.00 ns/op 224.00 ns/op 1.11
bitLengthStr(50) 235.00 ns/op 207.00 ns/op 1.14
bitLength(8000) 240.00 ns/op 211.00 ns/op 1.14
bitLengthStr(8000) 257.00 ns/op 258.00 ns/op 1.00
bitLength(250000) 246.00 ns/op 214.00 ns/op 1.15
bitLengthStr(250000) 297.00 ns/op 291.00 ns/op 1.02
floor - Math.floor (53) 1.2374 ns/op 1.2370 ns/op 1.00
floor - << 0 (53) 1.2365 ns/op 1.2561 ns/op 0.98
floor - Math.floor (512) 1.2393 ns/op 1.2367 ns/op 1.00
floor - << 0 (512) 1.2371 ns/op 1.2368 ns/op 1.00
fnIf(0) 1.5458 ns/op 1.5464 ns/op 1.00
fnSwitch(0) 2.1658 ns/op 2.1655 ns/op 1.00
fnObj(0) 1.5752 ns/op 1.5556 ns/op 1.01
fnArr(0) 1.5474 ns/op 1.5466 ns/op 1.00
fnIf(4) 2.2006 ns/op 2.1664 ns/op 1.02
fnSwitch(4) 2.1683 ns/op 2.1706 ns/op 1.00
fnObj(4) 1.5758 ns/op 1.5537 ns/op 1.01
fnArr(4) 1.5470 ns/op 1.5485 ns/op 1.00
fnIf(9) 3.0942 ns/op 3.0934 ns/op 1.00
fnSwitch(9) 2.1699 ns/op 2.1642 ns/op 1.00
fnObj(9) 1.5496 ns/op 1.5494 ns/op 1.00
fnArr(9) 1.5466 ns/op 1.5478 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.37 us/op 123.81 us/op 1.00
Container {a,b,vec} - as tree x100000 340.42 us/op 341.54 us/op 1.00
Container {a,vec,b} - as struct x100000 154.80 us/op 154.75 us/op 1.00
Container {a,vec,b} - as tree x100000 371.22 us/op 372.31 us/op 1.00
get 2 props x1000000 - rawObject 312.13 us/op 309.63 us/op 1.01
get 2 props x1000000 - proxy 72.841 ms/op 73.740 ms/op 0.99
get 2 props x1000000 - customObj 309.61 us/op 310.61 us/op 1.00
Simple object binary -> struct 891.00 ns/op 689.00 ns/op 1.29
Simple object binary -> tree_backed 1.7650 us/op 1.3410 us/op 1.32
Simple object struct -> tree_backed 2.4640 us/op 1.9630 us/op 1.26
Simple object tree_backed -> struct 2.3800 us/op 1.8540 us/op 1.28
Simple object struct -> binary 1.2330 us/op 933.00 ns/op 1.32
Simple object tree_backed -> binary 1.6120 us/op 1.5790 us/op 1.02
aggregationBits binary -> struct 656.00 ns/op 599.00 ns/op 1.10
aggregationBits binary -> tree_backed 2.4900 us/op 2.4590 us/op 1.01
aggregationBits struct -> tree_backed 2.9710 us/op 2.8520 us/op 1.04
aggregationBits tree_backed -> struct 1.2920 us/op 1.2490 us/op 1.03
aggregationBits struct -> binary 801.00 ns/op 798.00 ns/op 1.00
aggregationBits tree_backed -> binary 1.1160 us/op 1.0790 us/op 1.03
List(uint8) 100000 binary -> struct 1.5462 ms/op 1.4515 ms/op 1.07
List(uint8) 100000 binary -> tree_backed 99.179 us/op 96.619 us/op 1.03
List(uint8) 100000 struct -> tree_backed 1.2378 ms/op 1.2458 ms/op 0.99
List(uint8) 100000 tree_backed -> struct 1.0892 ms/op 1.0206 ms/op 1.07
List(uint8) 100000 struct -> binary 1.0625 ms/op 1.0383 ms/op 1.02
List(uint8) 100000 tree_backed -> binary 98.921 us/op 96.603 us/op 1.02
List(uint64Number) 100000 binary -> struct 1.2628 ms/op 1.2164 ms/op 1.04
List(uint64Number) 100000 binary -> tree_backed 2.9394 ms/op 3.3339 ms/op 0.88
List(uint64Number) 100000 struct -> tree_backed 5.0292 ms/op 4.8758 ms/op 1.03
List(uint64Number) 100000 tree_backed -> struct 2.4548 ms/op 2.4317 ms/op 1.01
List(uint64Number) 100000 struct -> binary 1.5037 ms/op 1.5224 ms/op 0.99
List(uint64Number) 100000 tree_backed -> binary 957.78 us/op 932.48 us/op 1.03
List(Uint64Bigint) 100000 binary -> struct 3.8149 ms/op 3.7286 ms/op 1.02
List(Uint64Bigint) 100000 binary -> tree_backed 3.7290 ms/op 3.6569 ms/op 1.02
List(Uint64Bigint) 100000 struct -> tree_backed 6.0319 ms/op 5.9455 ms/op 1.01
List(Uint64Bigint) 100000 tree_backed -> struct 4.8573 ms/op 4.6791 ms/op 1.04
List(Uint64Bigint) 100000 struct -> binary 2.0703 ms/op 2.1101 ms/op 0.98
List(Uint64Bigint) 100000 tree_backed -> binary 1.2436 ms/op 944.46 us/op 1.32
Vector(Root) 100000 binary -> struct 34.829 ms/op 33.530 ms/op 1.04
Vector(Root) 100000 binary -> tree_backed 33.505 ms/op 31.990 ms/op 1.05
Vector(Root) 100000 struct -> tree_backed 44.463 ms/op 42.422 ms/op 1.05
Vector(Root) 100000 tree_backed -> struct 51.128 ms/op 48.678 ms/op 1.05
Vector(Root) 100000 struct -> binary 2.6715 ms/op 2.7790 ms/op 0.96
Vector(Root) 100000 tree_backed -> binary 9.9738 ms/op 8.6419 ms/op 1.15
List(Validator) 100000 binary -> struct 99.762 ms/op 97.990 ms/op 1.02
List(Validator) 100000 binary -> tree_backed 302.29 ms/op 307.53 ms/op 0.98
List(Validator) 100000 struct -> tree_backed 322.03 ms/op 324.32 ms/op 0.99
List(Validator) 100000 tree_backed -> struct 212.19 ms/op 215.93 ms/op 0.98
List(Validator) 100000 struct -> binary 27.626 ms/op 27.645 ms/op 1.00
List(Validator) 100000 tree_backed -> binary 113.77 ms/op 114.41 ms/op 0.99
List(Validator-NS) 100000 binary -> struct 103.92 ms/op 104.51 ms/op 0.99
List(Validator-NS) 100000 binary -> tree_backed 154.72 ms/op 151.08 ms/op 1.02
List(Validator-NS) 100000 struct -> tree_backed 196.34 ms/op 193.18 ms/op 1.02
List(Validator-NS) 100000 tree_backed -> struct 174.90 ms/op 168.29 ms/op 1.04
List(Validator-NS) 100000 struct -> binary 27.738 ms/op 28.062 ms/op 0.99
List(Validator-NS) 100000 tree_backed -> binary 34.009 ms/op 32.705 ms/op 1.04
get epochStatuses - MutableVector 114.11 us/op 108.56 us/op 1.05
get epochStatuses - ViewDU 201.36 us/op 202.53 us/op 0.99
set epochStatuses - ListTreeView 1.7591 ms/op 2.4053 ms/op 0.73
set epochStatuses - ListTreeView - set() 438.41 us/op 454.94 us/op 0.96
set epochStatuses - ListTreeView - commit() 605.09 us/op 556.67 us/op 1.09
bitstring 640.32 ns/op 645.94 ns/op 0.99
bit mask 13.915 ns/op 13.679 ns/op 1.02
struct - increase slot to 1000000 927.72 us/op 928.36 us/op 1.00
UintNumberType - increase slot to 1000000 21.432 ms/op 21.413 ms/op 1.00
UintBigintType - increase slot to 1000000 164.55 ms/op 169.23 ms/op 0.97
UintBigint8 x 100000 tree_deserialize 4.8148 ms/op 5.0115 ms/op 0.96
UintBigint8 x 100000 tree_serialize 1.1619 ms/op 1.1549 ms/op 1.01
UintBigint16 x 100000 tree_deserialize 4.7407 ms/op 5.0486 ms/op 0.94
UintBigint16 x 100000 tree_serialize 1.2696 ms/op 1.2855 ms/op 0.99
UintBigint32 x 100000 tree_deserialize 5.1128 ms/op 5.4270 ms/op 0.94
UintBigint32 x 100000 tree_serialize 1.2648 ms/op 1.2925 ms/op 0.98
UintBigint64 x 100000 tree_deserialize 5.2665 ms/op 5.6486 ms/op 0.93
UintBigint64 x 100000 tree_serialize 1.6476 ms/op 1.7295 ms/op 0.95
UintBigint8 x 100000 value_deserialize 439.38 us/op 433.66 us/op 1.01
UintBigint8 x 100000 value_serialize 728.24 us/op 718.01 us/op 1.01
UintBigint16 x 100000 value_deserialize 464.12 us/op 464.07 us/op 1.00
UintBigint16 x 100000 value_serialize 748.87 us/op 757.82 us/op 0.99
UintBigint32 x 100000 value_deserialize 432.97 us/op 438.91 us/op 0.99
UintBigint32 x 100000 value_serialize 782.76 us/op 793.66 us/op 0.99
UintBigint64 x 100000 value_deserialize 495.88 us/op 497.38 us/op 1.00
UintBigint64 x 100000 value_serialize 961.18 us/op 980.81 us/op 0.98
UintBigint8 x 100000 deserialize 3.1462 ms/op 3.3464 ms/op 0.94
UintBigint8 x 100000 serialize 1.7032 ms/op 1.9069 ms/op 0.89
UintBigint16 x 100000 deserialize 3.3809 ms/op 3.2067 ms/op 1.05
UintBigint16 x 100000 serialize 1.4792 ms/op 1.5547 ms/op 0.95
UintBigint32 x 100000 deserialize 3.4111 ms/op 3.2863 ms/op 1.04
UintBigint32 x 100000 serialize 2.8270 ms/op 2.8053 ms/op 1.01
UintBigint64 x 100000 deserialize 4.1487 ms/op 4.1025 ms/op 1.01
UintBigint64 x 100000 serialize 1.5562 ms/op 1.5834 ms/op 0.98
UintBigint128 x 100000 deserialize 5.5081 ms/op 5.5703 ms/op 0.99
UintBigint128 x 100000 serialize 16.437 ms/op 14.282 ms/op 1.15
UintBigint256 x 100000 deserialize 8.7454 ms/op 8.4595 ms/op 1.03
UintBigint256 x 100000 serialize 48.170 ms/op 42.168 ms/op 1.14
Slice from Uint8Array x25000 1.1401 ms/op 1.3334 ms/op 0.86
Slice from ArrayBuffer x25000 16.297 ms/op 16.053 ms/op 1.02
Slice from ArrayBuffer x25000 + new Uint8Array 17.861 ms/op 17.122 ms/op 1.04
Copy Uint8Array 100000 iterate 2.6308 ms/op 2.7648 ms/op 0.95
Copy Uint8Array 100000 slice 110.60 us/op 100.46 us/op 1.10
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 105.92 us/op 100.26 us/op 1.06
Copy Buffer 100000 Uint8Array.prototype.slice.call 105.22 us/op 101.05 us/op 1.04
Copy Uint8Array 100000 slice + set 185.29 us/op 174.30 us/op 1.06
Copy Uint8Array 100000 subarray + set 108.05 us/op 97.907 us/op 1.10
Copy Uint8Array 100000 slice arrayBuffer 105.41 us/op 101.14 us/op 1.04
Uint64 deserialize 100000 - iterate Uint8Array 1.8661 ms/op 1.7850 ms/op 1.05
Uint64 deserialize 100000 - by Uint32A 1.8338 ms/op 1.9250 ms/op 0.95
Uint64 deserialize 100000 - by DataView.getUint32 x2 1.8446 ms/op 1.8148 ms/op 1.02
Uint64 deserialize 100000 - by DataView.getBigUint64 4.9361 ms/op 4.8491 ms/op 1.02
Uint64 deserialize 100000 - by byte 40.801 ms/op 40.511 ms/op 1.01

by benchmarkbot/action

@ensi321 ensi321 merged commit b85c774 into master Nov 13, 2024
9 checks passed
@ensi321 ensi321 deleted the nc/electra-type branch November 13, 2024 03:41
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.

2 participants