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: set electra as default fork on simpleserialize.com #465

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 24, 2025

  • set electra as default fork
  • dependency updates
  • update CL spec reference
  • fix webpack dev server

Copy link

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: fa00897 Previous: 5041139 Ratio
digestTwoHashObjects 50023 times 48.493 ms/op 48.248 ms/op 1.01
digest2Bytes32 50023 times 54.655 ms/op 54.794 ms/op 1.00
digest 50023 times 53.328 ms/op 53.430 ms/op 1.00
input length 32 1.1800 us/op 1.1670 us/op 1.01
input length 64 1.3140 us/op 1.3180 us/op 1.00
input length 128 2.2620 us/op 2.2320 us/op 1.01
input length 256 3.3750 us/op 3.3300 us/op 1.01
input length 512 5.5400 us/op 5.5630 us/op 1.00
input length 1024 10.685 us/op 10.681 us/op 1.00
digest 1000000 times 880.15 ms/op 852.84 ms/op 1.03
hashObjectToByteArray 50023 times 1.2340 ms/op 1.2289 ms/op 1.00
byteArrayToHashObject 50023 times 1.5427 ms/op 1.5426 ms/op 1.00
digest64 200092 times 212.70 ms/op 214.18 ms/op 0.99
hash 200092 times using batchHash4UintArray64s 236.89 ms/op 250.07 ms/op 0.95
digest64HashObjects 200092 times 193.64 ms/op 191.43 ms/op 1.01
hash 200092 times using batchHash4HashObjectInputs 200.32 ms/op 197.77 ms/op 1.01
getGindicesAtDepth 3.5740 us/op 3.4480 us/op 1.04
iterateAtDepth 6.6200 us/op 6.3750 us/op 1.04
getGindexBits 380.00 ns/op 356.00 ns/op 1.07
gindexIterator 923.00 ns/op 896.00 ns/op 1.03
HashComputationLevel.push then loop 27.398 ms/op 25.761 ms/op 1.06
HashComputation[] push then loop 48.855 ms/op 47.920 ms/op 1.02
hash 2 Uint8Array 500000 times - hashtree 209.72 ms/op 213.19 ms/op 0.98
hashTwoObjects 500000 times - hashtree 216.66 ms/op 214.65 ms/op 1.01
executeHashComputations - hashtree 9.7754 ms/op 9.4258 ms/op 1.04
hash 2 Uint8Array 500000 times - as-sha256 560.67 ms/op 560.79 ms/op 1.00
hashTwoObjects 500000 times - as-sha256 508.40 ms/op 509.59 ms/op 1.00
executeHashComputations - as-sha256 46.374 ms/op 44.935 ms/op 1.03
hash 2 Uint8Array 500000 times - noble 1.2280 s/op 1.2219 s/op 1.00
hashTwoObjects 500000 times - noble 1.6662 s/op 1.6307 s/op 1.02
executeHashComputations - noble 36.561 ms/op 36.118 ms/op 1.01
getHashComputations 2.1680 ms/op 2.0905 ms/op 1.04
executeHashComputations 9.6151 ms/op 10.248 ms/op 0.94
get root 15.462 ms/op 15.171 ms/op 1.02
getNodeH() x7812.5 avg hindex 12.189 us/op 12.186 us/op 1.00
getNodeH() x7812.5 index 0 7.5370 us/op 7.5320 us/op 1.00
getNodeH() x7812.5 index 7 7.5370 us/op 7.4730 us/op 1.01
getNodeH() x7812.5 index 7 with key array 6.3960 us/op 6.2860 us/op 1.02
new LeafNode() x7812.5 295.13 us/op 298.94 us/op 0.99
getHashComputations 250000 nodes 16.432 ms/op 14.464 ms/op 1.14
batchHash 250000 nodes 83.105 ms/op 85.554 ms/op 0.97
get root 250000 nodes 117.09 ms/op 115.63 ms/op 1.01
getHashComputations 500000 nodes 30.179 ms/op 33.095 ms/op 0.91
batchHash 500000 nodes 155.07 ms/op 165.80 ms/op 0.94
get root 500000 nodes 232.53 ms/op 230.95 ms/op 1.01
getHashComputations 1000000 nodes 77.625 ms/op 61.868 ms/op 1.25
batchHash 1000000 nodes 303.46 ms/op 360.79 ms/op 0.84
get root 1000000 nodes 463.21 ms/op 468.00 ms/op 0.99
multiproof - depth 15, 1 requested leaves 7.9890 us/op 8.0560 us/op 0.99
tree offset multiproof - depth 15, 1 requested leaves 19.638 us/op 17.674 us/op 1.11
compact multiproof - depth 15, 1 requested leaves 3.0570 us/op 2.9060 us/op 1.05
multiproof - depth 15, 2 requested leaves 11.762 us/op 11.648 us/op 1.01
tree offset multiproof - depth 15, 2 requested leaves 21.431 us/op 21.182 us/op 1.01
compact multiproof - depth 15, 2 requested leaves 2.9820 us/op 2.9630 us/op 1.01
multiproof - depth 15, 3 requested leaves 16.232 us/op 16.292 us/op 1.00
tree offset multiproof - depth 15, 3 requested leaves 27.942 us/op 27.060 us/op 1.03
compact multiproof - depth 15, 3 requested leaves 3.6500 us/op 3.5790 us/op 1.02
multiproof - depth 15, 4 requested leaves 22.213 us/op 21.682 us/op 1.02
tree offset multiproof - depth 15, 4 requested leaves 35.211 us/op 33.787 us/op 1.04
compact multiproof - depth 15, 4 requested leaves 4.6880 us/op 4.1570 us/op 1.13
packedRootsBytesToLeafNodes bytes 4000 offset 0 5.5880 us/op 5.5150 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 1 5.5210 us/op 5.4370 us/op 1.02
packedRootsBytesToLeafNodes bytes 4000 offset 2 5.5540 us/op 5.4920 us/op 1.01
packedRootsBytesToLeafNodes bytes 4000 offset 3 5.5450 us/op 5.4890 us/op 1.01
subtreeFillToContents depth 40 count 250000 48.353 ms/op 46.753 ms/op 1.03
setRoot - gindexBitstring 20.757 ms/op 21.228 ms/op 0.98
setRoot - gindex 21.547 ms/op 22.040 ms/op 0.98
getRoot - gindexBitstring 2.5077 ms/op 2.5335 ms/op 0.99
getRoot - gindex 3.0520 ms/op 3.1068 ms/op 0.98
getHashObject then setHashObject 21.893 ms/op 22.187 ms/op 0.99
setNodeWithFn 19.964 ms/op 19.955 ms/op 1.00
getNodeAtDepth depth 0 x100000 280.88 us/op 282.81 us/op 0.99
setNodeAtDepth depth 0 x100000 2.6000 ms/op 2.6916 ms/op 0.97
getNodesAtDepth depth 0 x100000 312.01 us/op 315.41 us/op 0.99
setNodesAtDepth depth 0 x100000 799.88 us/op 791.01 us/op 1.01
getNodeAtDepth depth 1 x100000 342.93 us/op 343.13 us/op 1.00
setNodeAtDepth depth 1 x100000 8.2962 ms/op 8.5334 ms/op 0.97
getNodesAtDepth depth 1 x100000 436.00 us/op 440.75 us/op 0.99
setNodesAtDepth depth 1 x100000 7.1166 ms/op 6.8871 ms/op 1.03
getNodeAtDepth depth 2 x100000 727.97 us/op 740.07 us/op 0.98
setNodeAtDepth depth 2 x100000 15.589 ms/op 15.720 ms/op 0.99
getNodesAtDepth depth 2 x100000 17.365 ms/op 18.316 ms/op 0.95
setNodesAtDepth depth 2 x100000 22.387 ms/op 22.968 ms/op 0.97
tree.getNodesAtDepth - gindexes 9.3073 ms/op 8.7213 ms/op 1.07
tree.getNodesAtDepth - push all nodes 2.3916 ms/op 2.4908 ms/op 0.96
tree.getNodesAtDepth - navigation 311.11 us/op 311.60 us/op 1.00
tree.setNodesAtDepth - indexes 772.92 us/op 731.42 us/op 1.06
set at depth 8 673.00 ns/op 801.00 ns/op 0.84
set at depth 16 1.2530 us/op 1.1460 us/op 1.09
set at depth 32 2.1760 us/op 1.9810 us/op 1.10
iterateNodesAtDepth 8 256 14.566 us/op 14.435 us/op 1.01
getNodesAtDepth 8 256 3.8280 us/op 3.7610 us/op 1.02
iterateNodesAtDepth 16 65536 5.0103 ms/op 5.1401 ms/op 0.97
getNodesAtDepth 16 65536 2.0704 ms/op 1.5996 ms/op 1.29
iterateNodesAtDepth 32 250000 16.575 ms/op 15.931 ms/op 1.04
getNodesAtDepth 32 250000 4.9502 ms/op 4.4646 ms/op 1.11
iterateNodesAtDepth 40 250000 17.359 ms/op 15.824 ms/op 1.10
getNodesAtDepth 40 250000 4.8819 ms/op 4.5864 ms/op 1.06
250000 validators root getter 116.69 ms/op 115.88 ms/op 1.01
250000 validators batchHash() 81.940 ms/op 91.401 ms/op 0.90
250000 validators hashComputations 17.454 ms/op 19.528 ms/op 0.89
bitlist bytes to struct (120,90) 1.1050 us/op 743.00 ns/op 1.49
bitlist bytes to tree (120,90) 3.5010 us/op 2.5500 us/op 1.37
bitlist bytes to struct (2048,2048) 1.5120 us/op 990.00 ns/op 1.53
bitlist bytes to tree (2048,2048) 4.9330 us/op 4.0390 us/op 1.22
ByteListType - deserialize 8.3108 ms/op 7.2279 ms/op 1.15
BasicListType - deserialize 19.005 ms/op 14.356 ms/op 1.32
ByteListType - serialize 8.2010 ms/op 7.7393 ms/op 1.06
BasicListType - serialize 10.982 ms/op 9.7326 ms/op 1.13
BasicListType - tree_convertToStruct 31.915 ms/op 26.077 ms/op 1.22
List[uint8, 68719476736] len 300000 ViewDU.getAll() + iterate 5.3760 ms/op 4.7901 ms/op 1.12
List[uint8, 68719476736] len 300000 ViewDU.get(i) 4.4028 ms/op 4.4103 ms/op 1.00
Array.push len 300000 empty Array - number 10.083 ms/op 6.6991 ms/op 1.51
Array.set len 300000 from new Array - number 1.7683 ms/op 1.7371 ms/op 1.02
Array.set len 300000 - number 5.5111 ms/op 5.5399 ms/op 0.99
Uint8Array.set len 300000 486.79 us/op 480.11 us/op 1.01
Uint32Array.set len 300000 549.78 us/op 539.82 us/op 1.02
Container({a: uint8, b: uint8}) getViewDU x300000 25.503 ms/op 24.820 ms/op 1.03
ContainerNodeStruct({a: uint8, b: uint8}) getViewDU x300000 10.544 ms/op 10.455 ms/op 1.01
List(Container) len 300000 ViewDU.getAllReadonly() + iterate 212.50 ms/op 197.86 ms/op 1.07
List(Container) len 300000 ViewDU.getAllReadonlyValues() + iterate 255.44 ms/op 226.89 ms/op 1.13
List(Container) len 300000 ViewDU.get(i) 6.5840 ms/op 6.3845 ms/op 1.03
List(Container) len 300000 ViewDU.getReadonly(i) 6.4983 ms/op 6.3471 ms/op 1.02
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonly() + iterate 35.538 ms/op 38.556 ms/op 0.92
List(ContainerNodeStruct) len 300000 ViewDU.getAllReadonlyValues() + iterate 5.9336 ms/op 5.2337 ms/op 1.13
List(ContainerNodeStruct) len 300000 ViewDU.get(i) 6.2504 ms/op 6.1641 ms/op 1.01
List(ContainerNodeStruct) len 300000 ViewDU.getReadonly(i) 6.2171 ms/op 6.0643 ms/op 1.03
Array.push len 300000 empty Array - object 7.2985 ms/op 6.4074 ms/op 1.14
Array.set len 300000 from new Array - object 1.8729 ms/op 1.9925 ms/op 0.94
Array.set len 300000 - object 5.8744 ms/op 6.0039 ms/op 0.98
cachePermanentRootStruct no cache 5.0720 us/op 5.0960 us/op 1.00
cachePermanentRootStruct with cache 195.00 ns/op 199.00 ns/op 0.98
epochParticipation len 250000 rws 7813 2.3127 ms/op 2.3262 ms/op 0.99
BeaconState ViewDU hashTreeRoot() vc=200000 112.52 ms/op 112.48 ms/op 1.00
BeaconState ViewDU recursive hash - commit step vc=200000 4.8767 ms/op 4.5695 ms/op 1.07
BeaconState ViewDU validator tree creation vc=10000 38.983 ms/op 39.100 ms/op 1.00
BeaconState ViewDU batchHashTreeRoot vc=200000 101.58 ms/op 98.243 ms/op 1.03
BeaconState ViewDU hashTreeRoot - commit step vc=200000 89.933 ms/op 88.615 ms/op 1.01
BeaconState ViewDU hashTreeRoot - hash step vc=200000 15.834 ms/op 15.568 ms/op 1.02
deserialize Attestation - tree 3.7240 us/op 3.5980 us/op 1.04
deserialize Attestation - struct 1.8810 us/op 1.9260 us/op 0.98
deserialize SignedAggregateAndProof - tree 4.9510 us/op 5.0130 us/op 0.99
deserialize SignedAggregateAndProof - struct 3.0930 us/op 3.0720 us/op 1.01
deserialize SyncCommitteeMessage - tree 1.5640 us/op 1.4160 us/op 1.10
deserialize SyncCommitteeMessage - struct 1.0510 us/op 1.0680 us/op 0.98
deserialize SignedContributionAndProof - tree 3.0880 us/op 2.9390 us/op 1.05
deserialize SignedContributionAndProof - struct 2.6630 us/op 2.3790 us/op 1.12
deserialize SignedBeaconBlock - tree 310.49 us/op 294.19 us/op 1.06
deserialize SignedBeaconBlock - struct 127.60 us/op 123.51 us/op 1.03
BeaconState vc 300000 - deserialize tree 667.79 ms/op 626.16 ms/op 1.07
BeaconState vc 300000 - serialize tree 141.84 ms/op 127.41 ms/op 1.11
BeaconState.historicalRoots vc 300000 - deserialize tree 861.00 ns/op 849.00 ns/op 1.01
BeaconState.historicalRoots vc 300000 - serialize tree 654.00 ns/op 636.00 ns/op 1.03
BeaconState.validators vc 300000 - deserialize tree 574.12 ms/op 600.20 ms/op 0.96
BeaconState.validators vc 300000 - serialize tree 106.34 ms/op 99.082 ms/op 1.07
BeaconState.balances vc 300000 - deserialize tree 27.530 ms/op 27.416 ms/op 1.00
BeaconState.balances vc 300000 - serialize tree 4.4629 ms/op 4.5367 ms/op 0.98
BeaconState.previousEpochParticipation vc 300000 - deserialize tree 1.0502 ms/op 892.01 us/op 1.18
BeaconState.previousEpochParticipation vc 300000 - serialize tree 350.47 us/op 312.54 us/op 1.12
BeaconState.currentEpochParticipation vc 300000 - deserialize tree 1.0367 ms/op 902.60 us/op 1.15
BeaconState.currentEpochParticipation vc 300000 - serialize tree 352.69 us/op 334.63 us/op 1.05
BeaconState.inactivityScores vc 300000 - deserialize tree 28.498 ms/op 28.336 ms/op 1.01
BeaconState.inactivityScores vc 300000 - serialize tree 4.0910 ms/op 3.9001 ms/op 1.05
hashTreeRoot Attestation - struct 17.759 us/op 19.866 us/op 0.89
hashTreeRoot Attestation - tree 9.0930 us/op 9.1020 us/op 1.00
hashTreeRoot SignedAggregateAndProof - struct 26.968 us/op 24.204 us/op 1.11
hashTreeRoot SignedAggregateAndProof - tree 13.625 us/op 13.693 us/op 1.00
hashTreeRoot SyncCommitteeMessage - struct 6.8450 us/op 6.2360 us/op 1.10
hashTreeRoot SyncCommitteeMessage - tree 3.8450 us/op 3.6920 us/op 1.04
hashTreeRoot SignedContributionAndProof - struct 15.456 us/op 14.727 us/op 1.05
hashTreeRoot SignedContributionAndProof - tree 9.3270 us/op 9.3310 us/op 1.00
hashTreeRoot SignedBeaconBlock - struct 1.3072 ms/op 1.2232 ms/op 1.07
hashTreeRoot SignedBeaconBlock - tree 805.05 us/op 825.90 us/op 0.97
hashTreeRoot Validator - struct 8.0340 us/op 7.7160 us/op 1.04
hashTreeRoot Validator - tree 7.3600 us/op 6.8910 us/op 1.07
BeaconState vc 300000 - hashTreeRoot tree 2.2609 s/op 2.2144 s/op 1.02
BeaconState vc 300000 - batchHashTreeRoot tree 4.1808 s/op 4.0718 s/op 1.03
BeaconState.historicalRoots vc 300000 - hashTreeRoot tree 1.0600 us/op 998.00 ns/op 1.06
BeaconState.validators vc 300000 - hashTreeRoot tree 2.4999 s/op 2.4050 s/op 1.04
BeaconState.balances vc 300000 - hashTreeRoot tree 34.633 ms/op 35.352 ms/op 0.98
BeaconState.previousEpochParticipation vc 300000 - hashTreeRoot tree 4.2803 ms/op 4.3136 ms/op 0.99
BeaconState.currentEpochParticipation vc 300000 - hashTreeRoot tree 4.2766 ms/op 4.3078 ms/op 0.99
BeaconState.inactivityScores vc 300000 - hashTreeRoot tree 37.880 ms/op 38.126 ms/op 0.99
hash64 x18 8.9300 us/op 8.7420 us/op 1.02
hashTwoObjects x18 8.4420 us/op 8.3110 us/op 1.02
hash64 x1740 825.25 us/op 796.95 us/op 1.04
hashTwoObjects x1740 757.10 us/op 746.70 us/op 1.01
hash64 x2700000 1.2836 s/op 1.2300 s/op 1.04
hashTwoObjects x2700000 1.1792 s/op 1.1605 s/op 1.02
get_exitEpoch - ContainerType 258.00 ns/op 231.00 ns/op 1.12
get_exitEpoch - ContainerNodeStructType 251.00 ns/op 229.00 ns/op 1.10
set_exitEpoch - ContainerType 279.00 ns/op 252.00 ns/op 1.11
set_exitEpoch - ContainerNodeStructType 262.00 ns/op 232.00 ns/op 1.13
get_pubkey - ContainerType 974.00 ns/op 927.00 ns/op 1.05
get_pubkey - ContainerNodeStructType 262.00 ns/op 223.00 ns/op 1.17
hashTreeRoot - ContainerType 420.00 ns/op 392.00 ns/op 1.07
hashTreeRoot - ContainerNodeStructType 387.00 ns/op 358.00 ns/op 1.08
createProof - ContainerType 4.1560 us/op 3.8400 us/op 1.08
createProof - ContainerNodeStructType 22.112 us/op 21.848 us/op 1.01
serialize - ContainerType 1.8740 us/op 1.7040 us/op 1.10
serialize - ContainerNodeStructType 1.6740 us/op 1.4030 us/op 1.19
set_exitEpoch_and_hashTreeRoot - ContainerType 3.1310 us/op 2.9300 us/op 1.07
set_exitEpoch_and_hashTreeRoot - ContainerNodeStructType 7.4140 us/op 7.3560 us/op 1.01
Array - for of 8.3540 us/op 7.4930 us/op 1.11
Array - for(;;) 8.7370 us/op 6.7180 us/op 1.30
basicListValue.readonlyValuesArray() 4.3815 ms/op 4.2245 ms/op 1.04
basicListValue.readonlyValuesArray() + loop all 4.3645 ms/op 4.2879 ms/op 1.02
compositeListValue.readonlyValuesArray() 27.900 ms/op 28.068 ms/op 0.99
compositeListValue.readonlyValuesArray() + loop all 32.053 ms/op 32.030 ms/op 1.00
Number64UintType - get balances list 4.8081 ms/op 4.6109 ms/op 1.04
Number64UintType - set balances list 10.190 ms/op 10.105 ms/op 1.01
Number64UintType - get and increase 10 then set 43.665 ms/op 46.189 ms/op 0.95
Number64UintType - increase 10 using applyDelta 17.053 ms/op 16.394 ms/op 1.04
Number64UintType - increase 10 using applyDeltaInBatch 17.185 ms/op 16.492 ms/op 1.04
tree_newTreeFromUint64Deltas 23.202 ms/op 20.557 ms/op 1.13
unsafeUint8ArrayToTree 37.235 ms/op 37.853 ms/op 0.98
bitLength(50) 235.00 ns/op 217.00 ns/op 1.08
bitLengthStr(50) 219.00 ns/op 208.00 ns/op 1.05
bitLength(8000) 230.00 ns/op 209.00 ns/op 1.10
bitLengthStr(8000) 261.00 ns/op 255.00 ns/op 1.02
bitLength(250000) 227.00 ns/op 210.00 ns/op 1.08
bitLengthStr(250000) 305.00 ns/op 291.00 ns/op 1.05
floor - Math.floor (53) 1.2429 ns/op 1.2468 ns/op 1.00
floor - << 0 (53) 1.2488 ns/op 1.2440 ns/op 1.00
floor - Math.floor (512) 1.2427 ns/op 1.2439 ns/op 1.00
floor - << 0 (512) 1.2429 ns/op 1.2669 ns/op 0.98
fnIf(0) 1.5591 ns/op 1.5551 ns/op 1.00
fnSwitch(0) 2.1765 ns/op 2.1827 ns/op 1.00
fnObj(0) 1.5572 ns/op 1.5592 ns/op 1.00
fnArr(0) 1.5556 ns/op 1.5557 ns/op 1.00
fnIf(4) 2.1861 ns/op 2.1812 ns/op 1.00
fnSwitch(4) 2.1757 ns/op 2.1777 ns/op 1.00
fnObj(4) 1.5589 ns/op 1.5568 ns/op 1.00
fnArr(4) 1.5543 ns/op 1.5777 ns/op 0.99
fnIf(9) 3.1330 ns/op 3.1089 ns/op 1.01
fnSwitch(9) 2.2140 ns/op 2.1768 ns/op 1.02
fnObj(9) 1.5601 ns/op 1.5626 ns/op 1.00
fnArr(9) 1.5544 ns/op 1.5543 ns/op 1.00
Container {a,b,vec} - as struct x100000 124.64 us/op 125.02 us/op 1.00
Container {a,b,vec} - as tree x100000 560.06 us/op 559.98 us/op 1.00
Container {a,vec,b} - as struct x100000 155.85 us/op 155.71 us/op 1.00
Container {a,vec,b} - as tree x100000 559.86 us/op 561.24 us/op 1.00
get 2 props x1000000 - rawObject 311.08 us/op 312.25 us/op 1.00
get 2 props x1000000 - proxy 74.302 ms/op 73.895 ms/op 1.01
get 2 props x1000000 - customObj 310.97 us/op 313.10 us/op 0.99
Simple object binary -> struct 886.00 ns/op 574.00 ns/op 1.54
Simple object binary -> tree_backed 2.3830 us/op 1.7190 us/op 1.39
Simple object struct -> tree_backed 2.7810 us/op 2.1960 us/op 1.27
Simple object tree_backed -> struct 2.3720 us/op 1.4930 us/op 1.59
Simple object struct -> binary 804.00 ns/op 811.00 ns/op 0.99
Simple object tree_backed -> binary 2.0490 us/op 1.2420 us/op 1.65
aggregationBits binary -> struct 863.00 ns/op 480.00 ns/op 1.80
aggregationBits binary -> tree_backed 2.7210 us/op 2.0790 us/op 1.31
aggregationBits struct -> tree_backed 3.0440 us/op 2.4660 us/op 1.23
aggregationBits tree_backed -> struct 1.2170 us/op 922.00 ns/op 1.32
aggregationBits struct -> binary 788.00 ns/op 650.00 ns/op 1.21
aggregationBits tree_backed -> binary 1.0350 us/op 825.00 ns/op 1.25
List(uint8) 100000 binary -> struct 1.6754 ms/op 1.7624 ms/op 0.95
List(uint8) 100000 binary -> tree_backed 278.07 us/op 273.22 us/op 1.02
List(uint8) 100000 struct -> tree_backed 1.4361 ms/op 1.4638 ms/op 0.98
List(uint8) 100000 tree_backed -> struct 1.2108 ms/op 1.1198 ms/op 1.08
List(uint8) 100000 struct -> binary 1.1320 ms/op 1.0992 ms/op 1.03
List(uint8) 100000 tree_backed -> binary 116.20 us/op 114.74 us/op 1.01
List(uint64Number) 100000 binary -> struct 1.3633 ms/op 1.4048 ms/op 0.97
List(uint64Number) 100000 binary -> tree_backed 4.7601 ms/op 5.0190 ms/op 0.95
List(uint64Number) 100000 struct -> tree_backed 6.7658 ms/op 6.1059 ms/op 1.11
List(uint64Number) 100000 tree_backed -> struct 2.4270 ms/op 2.4342 ms/op 1.00
List(uint64Number) 100000 struct -> binary 1.5346 ms/op 1.5826 ms/op 0.97
List(uint64Number) 100000 tree_backed -> binary 1.0486 ms/op 1.0330 ms/op 1.02
List(Uint64Bigint) 100000 binary -> struct 3.9938 ms/op 3.7095 ms/op 1.08
List(Uint64Bigint) 100000 binary -> tree_backed 5.2780 ms/op 5.0164 ms/op 1.05
List(Uint64Bigint) 100000 struct -> tree_backed 7.5618 ms/op 8.1592 ms/op 0.93
List(Uint64Bigint) 100000 tree_backed -> struct 5.0986 ms/op 5.1796 ms/op 0.98
List(Uint64Bigint) 100000 struct -> binary 2.1206 ms/op 2.0661 ms/op 1.03
List(Uint64Bigint) 100000 tree_backed -> binary 1.1350 ms/op 1.2860 ms/op 0.88
Vector(Root) 100000 binary -> struct 35.834 ms/op 37.432 ms/op 0.96
Vector(Root) 100000 binary -> tree_backed 35.330 ms/op 42.356 ms/op 0.83
Vector(Root) 100000 struct -> tree_backed 50.369 ms/op 49.278 ms/op 1.02
Vector(Root) 100000 tree_backed -> struct 50.948 ms/op 49.389 ms/op 1.03
Vector(Root) 100000 struct -> binary 2.8421 ms/op 2.7343 ms/op 1.04
Vector(Root) 100000 tree_backed -> binary 6.3786 ms/op 6.5106 ms/op 0.98
List(Validator) 100000 binary -> struct 105.89 ms/op 107.22 ms/op 0.99
List(Validator) 100000 binary -> tree_backed 329.63 ms/op 320.95 ms/op 1.03
List(Validator) 100000 struct -> tree_backed 374.64 ms/op 373.91 ms/op 1.00
List(Validator) 100000 tree_backed -> struct 206.77 ms/op 202.44 ms/op 1.02
List(Validator) 100000 struct -> binary 29.499 ms/op 28.992 ms/op 1.02
List(Validator) 100000 tree_backed -> binary 110.97 ms/op 105.77 ms/op 1.05
List(Validator-NS) 100000 binary -> struct 114.52 ms/op 117.19 ms/op 0.98
List(Validator-NS) 100000 binary -> tree_backed 155.40 ms/op 159.64 ms/op 0.97
List(Validator-NS) 100000 struct -> tree_backed 209.04 ms/op 208.31 ms/op 1.00
List(Validator-NS) 100000 tree_backed -> struct 174.82 ms/op 169.86 ms/op 1.03
List(Validator-NS) 100000 struct -> binary 30.067 ms/op 28.812 ms/op 1.04
List(Validator-NS) 100000 tree_backed -> binary 34.332 ms/op 34.085 ms/op 1.01
get epochStatuses - MutableVector 109.61 us/op 98.762 us/op 1.11
get epochStatuses - ViewDU 209.58 us/op 213.39 us/op 0.98
set epochStatuses - ListTreeView 2.2851 ms/op 2.1305 ms/op 1.07
set epochStatuses - ListTreeView - set() 489.59 us/op 446.33 us/op 1.10
set epochStatuses - ListTreeView - commit() 780.05 us/op 731.49 us/op 1.07
bitstring 516.41 ns/op 513.77 ns/op 1.01
bit mask 13.588 ns/op 13.799 ns/op 0.98
struct - increase slot to 1000000 932.75 us/op 933.62 us/op 1.00
UintNumberType - increase slot to 1000000 28.353 ms/op 27.711 ms/op 1.02
UintBigintType - increase slot to 1000000 181.33 ms/op 171.34 ms/op 1.06
UintBigint8 x 100000 tree_deserialize 5.7340 ms/op 4.8651 ms/op 1.18
UintBigint8 x 100000 tree_serialize 1.1291 ms/op 1.1287 ms/op 1.00
UintBigint16 x 100000 tree_deserialize 5.4693 ms/op 6.0631 ms/op 0.90
UintBigint16 x 100000 tree_serialize 1.4476 ms/op 1.3632 ms/op 1.06
UintBigint32 x 100000 tree_deserialize 5.6433 ms/op 5.5379 ms/op 1.02
UintBigint32 x 100000 tree_serialize 1.8955 ms/op 1.8300 ms/op 1.04
UintBigint64 x 100000 tree_deserialize 6.6439 ms/op 6.2323 ms/op 1.07
UintBigint64 x 100000 tree_serialize 2.6687 ms/op 2.4893 ms/op 1.07
UintBigint8 x 100000 value_deserialize 436.37 us/op 437.44 us/op 1.00
UintBigint8 x 100000 value_serialize 800.57 us/op 771.83 us/op 1.04
UintBigint16 x 100000 value_deserialize 466.51 us/op 466.78 us/op 1.00
UintBigint16 x 100000 value_serialize 877.75 us/op 814.65 us/op 1.08
UintBigint32 x 100000 value_deserialize 497.74 us/op 497.55 us/op 1.00
UintBigint32 x 100000 value_serialize 883.10 us/op 851.55 us/op 1.04
UintBigint64 x 100000 value_deserialize 561.53 us/op 561.32 us/op 1.00
UintBigint64 x 100000 value_serialize 1.1261 ms/op 1.0346 ms/op 1.09
UintBigint8 x 100000 deserialize 3.7751 ms/op 3.1338 ms/op 1.20
UintBigint8 x 100000 serialize 1.5289 ms/op 1.5236 ms/op 1.00
UintBigint16 x 100000 deserialize 3.7621 ms/op 3.1959 ms/op 1.18
UintBigint16 x 100000 serialize 1.5626 ms/op 1.5486 ms/op 1.01
UintBigint32 x 100000 deserialize 3.6063 ms/op 3.2662 ms/op 1.10
UintBigint32 x 100000 serialize 3.1045 ms/op 2.8154 ms/op 1.10
UintBigint64 x 100000 deserialize 4.4904 ms/op 4.2641 ms/op 1.05
UintBigint64 x 100000 serialize 1.6375 ms/op 1.7528 ms/op 0.93
UintBigint128 x 100000 deserialize 5.8654 ms/op 5.5805 ms/op 1.05
UintBigint128 x 100000 serialize 15.031 ms/op 15.764 ms/op 0.95
UintBigint256 x 100000 deserialize 8.5403 ms/op 8.9411 ms/op 0.96
UintBigint256 x 100000 serialize 43.366 ms/op 45.903 ms/op 0.94
Slice from Uint8Array x25000 1.3361 ms/op 1.3955 ms/op 0.96
Slice from ArrayBuffer x25000 17.580 ms/op 15.878 ms/op 1.11
Slice from ArrayBuffer x25000 + new Uint8Array 18.416 ms/op 16.324 ms/op 1.13
Copy Uint8Array 100000 iterate 2.6627 ms/op 2.7272 ms/op 0.98
Copy Uint8Array 100000 slice 117.76 us/op 95.870 us/op 1.23
Copy Uint8Array 100000 Uint8Array.prototype.slice.call 118.06 us/op 87.975 us/op 1.34
Copy Buffer 100000 Uint8Array.prototype.slice.call 109.92 us/op 90.034 us/op 1.22
Copy Uint8Array 100000 slice + set 253.12 us/op 177.75 us/op 1.42
Copy Uint8Array 100000 subarray + set 128.86 us/op 88.467 us/op 1.46
Copy Uint8Array 100000 slice arrayBuffer 124.45 us/op 91.189 us/op 1.36
Uint64 deserialize 100000 - iterate Uint8Array 2.0513 ms/op 1.9793 ms/op 1.04
Uint64 deserialize 100000 - by Uint32A 2.0846 ms/op 2.0172 ms/op 1.03
Uint64 deserialize 100000 - by DataView.getUint32 x2 2.1476 ms/op 1.8379 ms/op 1.17
Uint64 deserialize 100000 - by DataView.getBigUint64 5.3900 ms/op 4.8271 ms/op 1.12
Uint64 deserialize 100000 - by byte 41.401 ms/op 40.847 ms/op 1.01

by benchmarkbot/action

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.

1 participant