Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Decouple Staking and Election - Part 2.1: Unleash Multi Phase #8113

Merged
72 commits merged into from
Mar 20, 2021

Conversation

kianenigma
Copy link
Contributor

@kianenigma kianenigma commented Feb 13, 2021

This is called part 2.1, because it can be applied after part 2 is merged, and there's no need to have part 3 (signed phase).

So, this is building on top of the part 2 for now. We can rebase it later.

By the end of #7909, If we merge it with its companion, the pallet will be deployed, and it will compute all the elections, but staking will still use its own election mechanism. This PR will wipe a lot of code from staking, and henceforth staking will use the new multi-phase election (again, regardless of having a signed phase or not).

kianenigma and others added 30 commits January 15, 2021 13:19
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
…om:paritytech/substrate into kiz-election-provider-2-two-phase-unsigned
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
…om:paritytech/substrate into kiz-election-provider-2-two-phase-unsigned
…/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
…om:paritytech/substrate into kiz-election-provider-2-two-phase-unsigned
@parity-benchapp
Copy link

parity-benchapp bot commented Mar 19, 2021

Finished benchmark for branch: kiz-election-provider-21-enable-multi-phase

Benchmark: Benchmark Runtime Pallet

cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Results

Pallet: "pallet_election_provider_multi_phase", Extrinsic: "on_initialize_nothing", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 22.73
µs

Reads = 7
Writes = 0
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 22.73
µs

Reads = 7
Writes = 0
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "on_initialize_open_signed", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 112
µs

Reads = 8
Writes = 4
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 112
µs

Reads = 8
Writes = 4
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "on_initialize_open_unsigned_with_snapshot", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 112.1
µs

Reads = 8
Writes = 4
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 112.1
µs

Reads = 8
Writes = 4
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "on_initialize_open_unsigned_without_snapshot", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 21.03
µs

Reads = 1
Writes = 1
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 21.03
µs

Reads = 1
Writes = 1
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "elect_queued", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 7362
µs

Reads = 2
Writes = 6
Min Squares Analysis

-- Extrinsic Time --

Model:
Time ~= 7362
µs

Reads = 2
Writes = 6
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "submit_unsigned", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 0
+ v 3.939
+ t 0.202
+ a 12.89
+ d 5.45
µs

Reads = 6 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Writes = 1 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
v t a d mean µs sigma µs %
4000 1600 3000 800 56300 180.7 0.3%
4040 1600 3000 800 56460 93.96 0.1%
4080 1600 3000 800 56750 85.64 0.1%
4120 1600 3000 800 56770 116.7 0.2%
4160 1600 3000 800 56940 92.19 0.1%
4200 1600 3000 800 57000 104.8 0.1%
4240 1600 3000 800 57120 89.72 0.1%
4280 1600 3000 800 57290 67.76 0.1%
4320 1600 3000 800 57420 102.1 0.1%
4360 1600 3000 800 57640 120.2 0.2%
4400 1600 3000 800 57680 91.76 0.1%
4440 1600 3000 800 57940 202.9 0.3%
4480 1600 3000 800 58040 133.7 0.2%
4520 1600 3000 800 58170 69.43 0.1%
4560 1600 3000 800 58340 76.2 0.1%
4600 1600 3000 800 58600 123 0.2%
4640 1600 3000 800 58780 95.43 0.1%
4680 1600 3000 800 58800 101.8 0.1%
4720 1600 3000 800 59010 118.7 0.2%
4760 1600 3000 800 59160 84.54 0.1%
4800 1600 3000 800 59350 112.3 0.1%
4840 1600 3000 800 59520 116.1 0.1%
4880 1600 3000 800 59570 117.1 0.1%
4920 1600 3000 800 59740 136.2 0.2%
4960 1600 3000 800 59940 108.4 0.1%
5000 1600 3000 800 60110 95.68 0.1%
5040 1600 3000 800 60260 92.22 0.1%
5080 1600 3000 800 60320 154.8 0.2%
5120 1600 3000 800 60650 84.72 0.1%
5160 1600 3000 800 60660 150.1 0.2%
5200 1600 3000 800 60990 141.8 0.2%
5240 1600 3000 800 60900 110.1 0.1%
5280 1600 3000 800 61290 83.9 0.1%
5320 1600 3000 800 61280 96.6 0.1%
5360 1600 3000 800 61500 124 0.2%
5400 1600 3000 800 61760 113.4 0.1%
5440 1600 3000 800 61870 112.1 0.1%
5480 1600 3000 800 62070 50.5 0.0%
5520 1600 3000 800 62270 118.4 0.1%
5560 1600 3000 800 62380 76.2 0.1%
5600 1600 3000 800 62490 146.2 0.2%
5640 1600 3000 800 62640 128.3 0.2%
5680 1600 3000 800 62760 65.23 0.1%
5720 1600 3000 800 62960 146.4 0.2%
5760 1600 3000 800 63110 101.5 0.1%
5800 1600 3000 800 63350 142 0.2%
5840 1600 3000 800 63470 147.6 0.2%
5880 1600 3000 800 63680 219.2 0.3%
5920 1600 3000 800 63770 118.2 0.1%
5960 1600 3000 800 63940 74.94 0.1%
6000 1000 3000 800 64040 134.3 0.2%
6000 1012 3000 800 64080 105.4 0.1%
6000 1024 3000 800 64170 135.4 0.2%
6000 1036 3000 800 64020 97.26 0.1%
6000 1048 3000 800 63990 49.49 0.0%
6000 1060 3000 800 63990 148.9 0.2%
6000 1072 3000 800 64010 105 0.1%
6000 1084 3000 800 64100 89.03 0.1%
6000 1096 3000 800 64090 89.04 0.1%
6000 1108 3000 800 64040 76.08 0.1%
6000 1120 3000 800 64090 20.04 0.0%
6000 1132 3000 800 64080 36.9 0.0%
6000 1144 3000 800 64070 103.9 0.1%
6000 1156 3000 800 64100 82.6 0.1%
6000 1168 3000 800 64120 153 0.2%
6000 1180 3000 800 64060 126.5 0.1%
6000 1192 3000 800 64020 117.3 0.1%
6000 1204 3000 800 64140 112.8 0.1%
6000 1216 3000 800 64210 135.7 0.2%
6000 1228 3000 800 64000 136.9 0.2%
6000 1240 3000 800 63990 56.06 0.0%
6000 1252 3000 800 64180 123.5 0.1%
6000 1264 3000 800 64080 101.6 0.1%
6000 1276 3000 800 64260 123.8 0.1%
6000 1288 3000 800 63990 191.8 0.2%
6000 1300 3000 800 64110 133.1 0.2%
6000 1312 3000 800 64190 127.1 0.1%
6000 1324 3000 800 64100 113.9 0.1%
6000 1336 3000 800 64090 102.2 0.1%
6000 1348 3000 800 64020 62.88 0.0%
6000 1360 3000 800 64490 82.21 0.1%
6000 1372 3000 800 64070 132 0.2%
6000 1384 3000 800 64070 110.3 0.1%
6000 1396 3000 800 64120 60.12 0.0%
6000 1408 3000 800 64280 107.1 0.1%
6000 1420 3000 800 64100 107.9 0.1%
6000 1432 3000 800 64180 81.89 0.1%
6000 1444 3000 800 64510 75.05 0.1%
6000 1456 3000 800 64080 106.3 0.1%
6000 1468 3000 800 64100 135.1 0.2%
6000 1480 3000 800 64040 105.7 0.1%
6000 1492 3000 800 64110 152.8 0.2%
6000 1504 3000 800 64240 161.3 0.2%
6000 1516 3000 800 64070 97.2 0.1%
6000 1528 3000 800 64160 123 0.1%
6000 1540 3000 800 64070 104.5 0.1%
6000 1552 3000 800 64290 125.5 0.1%
6000 1564 3000 800 64130 111.4 0.1%
6000 1576 3000 800 64210 124.5 0.1%
6000 1588 3000 800 64140 86.21 0.1%
6000 1600 1000 800 37260 74.11 0.1%
6000 1600 1040 800 37740 97.05 0.2%
6000 1600 1080 800 38200 105.3 0.2%
6000 1600 1120 800 38770 47.52 0.1%
6000 1600 1160 800 39130 97.42 0.2%
6000 1600 1200 800 39710 60.3 0.1%
6000 1600 1240 800 40070 93.5 0.2%
6000 1600 1280 800 40700 69.92 0.1%
6000 1600 1320 800 41110 55.67 0.1%
6000 1600 1360 800 41650 125 0.3%
6000 1600 1400 800 43020 118.8 0.2%
6000 1600 1440 800 43510 87.34 0.2%
6000 1600 1480 800 44070 74.26 0.1%
6000 1600 1520 800 44530 53.44 0.1%
6000 1600 1560 800 44980 100.3 0.2%
6000 1600 1600 800 45590 104.4 0.2%
6000 1600 1640 800 45990 100.2 0.2%
6000 1600 1680 800 46660 53.73 0.1%
6000 1600 1720 800 47140 49.79 0.1%
6000 1600 1760 800 47710 34.57 0.0%
6000 1600 1800 800 48190 62.87 0.1%
6000 1600 1840 800 48680 48.37 0.0%
6000 1600 1880 800 49180 73.2 0.1%
6000 1600 1920 800 49670 58.85 0.1%
6000 1600 1960 800 50110 62.14 0.1%
6000 1600 2000 800 50530 54.17 0.1%
6000 1600 2040 800 51040 110.5 0.2%
6000 1600 2080 800 51510 93.18 0.1%
6000 1600 2120 800 52020 74.43 0.1%
6000 1600 2160 800 52390 31.35 0.0%
6000 1600 2200 800 52910 102.9 0.1%
6000 1600 2240 800 53400 67.42 0.1%
6000 1600 2280 800 53830 83.77 0.1%
6000 1600 2320 800 54220 77.61 0.1%
6000 1600 2360 800 54680 87.76 0.1%
6000 1600 2400 800 55330 89.48 0.1%
6000 1600 2440 800 55670 57.89 0.1%
6000 1600 2480 800 56100 84.6 0.1%
6000 1600 2520 800 56530 76.5 0.1%
6000 1600 2560 800 57030 99.79 0.1%
6000 1600 2600 800 57500 43.34 0.0%
6000 1600 2640 800 57960 103.5 0.1%
6000 1600 2680 800 58410 78.82 0.1%
6000 1600 2720 800 58880 96.18 0.1%
6000 1600 2760 800 59420 112.9 0.1%
6000 1600 2800 800 59890 106.4 0.1%
6000 1600 2840 800 60310 116.4 0.1%
6000 1600 2880 800 62640 76.02 0.1%
6000 1600 2920 800 63140 76.18 0.1%
6000 1600 2960 800 63750 48.17 0.0%
6000 1600 3000 400 62440 52.68 0.0%
6000 1600 3000 408 62420 94.23 0.1%
6000 1600 3000 416 62370 70.88 0.1%
6000 1600 3000 424 62490 115.1 0.1%
6000 1600 3000 432 62410 60.82 0.0%
6000 1600 3000 440 62480 57.26 0.0%
6000 1600 3000 448 62520 62.01 0.0%
6000 1600 3000 456 62730 80.23 0.1%
6000 1600 3000 464 62700 92.01 0.1%
6000 1600 3000 472 62670 91.27 0.1%
6000 1600 3000 480 62870 87.87 0.1%
6000 1600 3000 488 62820 115.6 0.1%
6000 1600 3000 496 62910 54.68 0.0%
6000 1600 3000 504 62820 31.79 0.0%
6000 1600 3000 512 63250 75.12 0.1%
6000 1600 3000 520 63330 77.46 0.1%
6000 1600 3000 528 63330 79.86 0.1%
6000 1600 3000 536 63450 75.04 0.1%
6000 1600 3000 544 63530 67.32 0.1%
6000 1600 3000 552 63550 70.23 0.1%
6000 1600 3000 560 63750 88.95 0.1%
6000 1600 3000 568 63770 75.09 0.1%
6000 1600 3000 576 63910 89.64 0.1%
6000 1600 3000 584 63980 37.06 0.0%
6000 1600 3000 592 63890 103.7 0.1%
6000 1600 3000 600 64040 70.47 0.1%
6000 1600 3000 608 64100 85 0.1%
6000 1600 3000 616 64150 79.8 0.1%
6000 1600 3000 624 64140 125.8 0.1%
6000 1600 3000 632 64230 133.2 0.2%
6000 1600 3000 640 64380 74.26 0.1%
6000 1600 3000 648 64290 112.4 0.1%
6000 1600 3000 656 64300 54.07 0.0%
6000 1600 3000 664 64310 69.44 0.1%
6000 1600 3000 672 64440 49.25 0.0%
6000 1600 3000 680 64500 68.54 0.1%
6000 1600 3000 688 64440 62.9 0.0%
6000 1600 3000 696 64450 58.43 0.0%
6000 1600 3000 704 64440 167.2 0.2%
6000 1600 3000 712 64310 64.21 0.0%
6000 1600 3000 720 64510 92.05 0.1%
6000 1600 3000 728 64500 64.64 0.1%
6000 1600 3000 736 64330 103.5 0.1%
6000 1600 3000 744 64430 54.84 0.0%
6000 1600 3000 752 64320 83.2 0.1%
6000 1600 3000 760 64330 43.84 0.0%
6000 1600 3000 768 64120 71.06 0.1%
6000 1600 3000 776 64250 82.34 0.1%
6000 1600 3000 784 64340 93.17 0.1%
6000 1600 3000 792 64390 83.2 0.1%
6000 1600 3000 800 64130 94.1 0.1%

Quality and confidence:
param error
v 0.021
t 0.071
a 0.021
d 0.107

Model:
Time ~= 0
+ v 3.933
+ t 0
+ a 13.52
+ d 2.88
µs

Reads = 6 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Writes = 1 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Pallet: "pallet_election_provider_multi_phase", Extrinsic: "feasibility_check", Lowest values: [], Highest values: [], Steps: [50], Repeat: 20
Median Slopes Analysis

-- Extrinsic Time --

Model:
Time ~= 0
+ v 3.94
+ t 0.212
+ a 9.889
+ d 5.084
µs

Reads = 3 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Writes = 0 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Min Squares Analysis

-- Extrinsic Time --

Data points distribution:
v t a d mean µs sigma µs %
4000 1600 3000 800 46010 55.12 0.1%
4040 1600 3000 800 46080 79.08 0.1%
4080 1600 3000 800 46220 65.37 0.1%
4120 1600 3000 800 46380 100.5 0.2%
4160 1600 3000 800 46550 72.02 0.1%
4200 1600 3000 800 46660 46.89 0.1%
4240 1600 3000 800 46800 62.49 0.1%
4280 1600 3000 800 46980 97.5 0.2%
4320 1600 3000 800 47240 95.88 0.2%
4360 1600 3000 800 47350 95.98 0.2%
4400 1600 3000 800 47330 50.7 0.1%
4440 1600 3000 800 47700 49.29 0.1%
4480 1600 3000 800 47730 70.09 0.1%
4520 1600 3000 800 47930 43.82 0.0%
4560 1600 3000 800 48050 53.45 0.1%
4600 1600 3000 800 48210 30.06 0.0%
4640 1600 3000 800 48340 82.97 0.1%
4680 1600 3000 800 48600 59.63 0.1%
4720 1600 3000 800 48670 86.58 0.1%
4760 1600 3000 800 48850 95.2 0.1%
4800 1600 3000 800 49010 52.35 0.1%
4840 1600 3000 800 49190 74.18 0.1%
4880 1600 3000 800 49390 43.36 0.0%
4920 1600 3000 800 49540 28.49 0.0%
4960 1600 3000 800 49730 47.7 0.0%
5000 1600 3000 800 49830 78.39 0.1%
5040 1600 3000 800 50000 120.5 0.2%
5080 1600 3000 800 50150 38.09 0.0%
5120 1600 3000 800 50280 54.68 0.1%
5160 1600 3000 800 50390 63.92 0.1%
5200 1600 3000 800 50590 59.02 0.1%
5240 1600 3000 800 50830 72.88 0.1%
5280 1600 3000 800 50890 64.1 0.1%
5320 1600 3000 800 51090 53.64 0.1%
5360 1600 3000 800 51270 48.9 0.0%
5400 1600 3000 800 51450 33.71 0.0%
5440 1600 3000 800 51400 81.33 0.1%
5480 1600 3000 800 51810 66.42 0.1%
5520 1600 3000 800 51840 65.39 0.1%
5560 1600 3000 800 52070 105.8 0.2%
5600 1600 3000 800 52120 71.57 0.1%
5640 1600 3000 800 52320 64.29 0.1%
5680 1600 3000 800 52510 82.46 0.1%
5720 1600 3000 800 52750 46.12 0.0%
5760 1600 3000 800 52860 59.94 0.1%
5800 1600 3000 800 52970 78.89 0.1%
5840 1600 3000 800 53190 59.49 0.1%
5880 1600 3000 800 53330 81.09 0.1%
5920 1600 3000 800 53430 57.01 0.1%
5960 1600 3000 800 53510 85.38 0.1%
6000 1000 3000 800 53680 111.2 0.2%
6000 1012 3000 800 53750 48.85 0.0%
6000 1024 3000 800 53810 48.87 0.0%
6000 1036 3000 800 53620 71.09 0.1%
6000 1048 3000 800 53740 100.1 0.1%
6000 1060 3000 800 53810 68.05 0.1%
6000 1072 3000 800 53780 45.91 0.0%
6000 1084 3000 800 53740 109.9 0.2%
6000 1096 3000 800 53580 41.74 0.0%
6000 1108 3000 800 53650 102.5 0.1%
6000 1120 3000 800 53810 74.7 0.1%
6000 1132 3000 800 53720 35.56 0.0%
6000 1144 3000 800 53640 66.44 0.1%
6000 1156 3000 800 53810 50.04 0.0%
6000 1168 3000 800 53620 77.28 0.1%
6000 1180 3000 800 53750 66.57 0.1%
6000 1192 3000 800 53690 71.43 0.1%
6000 1204 3000 800 53820 83.57 0.1%
6000 1216 3000 800 53740 58.23 0.1%
6000 1228 3000 800 53560 21.99 0.0%
6000 1240 3000 800 53680 23.4 0.0%
6000 1252 3000 800 53760 72.17 0.1%
6000 1264 3000 800 53730 64.52 0.1%
6000 1276 3000 800 53870 28.65 0.0%
6000 1288 3000 800 53680 63.04 0.1%
6000 1300 3000 800 53670 123.3 0.2%
6000 1312 3000 800 53780 76.14 0.1%
6000 1324 3000 800 53820 73.94 0.1%
6000 1336 3000 800 53760 66.32 0.1%
6000 1348 3000 800 53760 85.63 0.1%
6000 1360 3000 800 53960 94.09 0.1%
6000 1372 3000 800 53780 81.52 0.1%
6000 1384 3000 800 53650 54.63 0.1%
6000 1396 3000 800 53660 70.36 0.1%
6000 1408 3000 800 53890 69.18 0.1%
6000 1420 3000 800 53850 42.88 0.0%
6000 1432 3000 800 53860 61.09 0.1%
6000 1444 3000 800 54000 103.7 0.1%
6000 1456 3000 800 53850 69.99 0.1%
6000 1468 3000 800 53740 81.62 0.1%
6000 1480 3000 800 53740 81.43 0.1%
6000 1492 3000 800 53700 78.98 0.1%
6000 1504 3000 800 53860 45.94 0.0%
6000 1516 3000 800 53840 65.37 0.1%
6000 1528 3000 800 53810 55.35 0.1%
6000 1540 3000 800 53750 84.74 0.1%
6000 1552 3000 800 53880 49.8 0.0%
6000 1564 3000 800 53880 75.93 0.1%
6000 1576 3000 800 53830 92.51 0.1%
6000 1588 3000 800 53820 97.3 0.1%
6000 1600 1000 800 33850 88.65 0.2%
6000 1600 1040 800 34410 76.93 0.2%
6000 1600 1080 800 34730 70.59 0.2%
6000 1600 1120 800 35060 84.13 0.2%
6000 1600 1160 800 35560 45.66 0.1%
6000 1600 1200 800 35850 60.74 0.1%
6000 1600 1240 800 36310 66.4 0.1%
6000 1600 1280 800 36510 39.11 0.1%
6000 1600 1320 800 36970 86.15 0.2%
6000 1600 1360 800 37470 40.45 0.1%
6000 1600 1400 800 37940 47.66 0.1%
6000 1600 1440 800 38350 57.34 0.1%
6000 1600 1480 800 38680 89.48 0.2%
6000 1600 1520 800 39080 84.31 0.2%
6000 1600 1560 800 39490 98.63 0.2%
6000 1600 1600 800 40020 57.66 0.1%
6000 1600 1640 800 40340 71.53 0.1%
6000 1600 1680 800 40880 100 0.2%
6000 1600 1720 800 41270 65.72 0.1%
6000 1600 1760 800 41680 71.53 0.1%
6000 1600 1800 800 42080 81.88 0.1%
6000 1600 1840 800 42540 83.19 0.1%
6000 1600 1880 800 42910 88.83 0.2%
6000 1600 1920 800 43380 95.72 0.2%
6000 1600 1960 800 43720 55.64 0.1%
6000 1600 2000 800 44080 97.68 0.2%
6000 1600 2040 800 44510 102 0.2%
6000 1600 2080 800 44990 101.9 0.2%
6000 1600 2120 800 45410 78.57 0.1%
6000 1600 2160 800 45540 48.68 0.1%
6000 1600 2200 800 46060 82.49 0.1%
6000 1600 2240 800 46400 74.61 0.1%
6000 1600 2280 800 46790 65.76 0.1%
6000 1600 2320 800 47100 82.51 0.1%
6000 1600 2360 800 47480 60.57 0.1%
6000 1600 2400 800 47810 101.3 0.2%
6000 1600 2440 800 48210 73.2 0.1%
6000 1600 2480 800 48650 93.91 0.1%
6000 1600 2520 800 49000 67.68 0.1%
6000 1600 2560 800 49290 58.43 0.1%
6000 1600 2600 800 49690 112.2 0.2%
6000 1600 2640 800 50130 37.39 0.0%
6000 1600 2680 800 50550 34.81 0.0%
6000 1600 2720 800 50920 66.06 0.1%
6000 1600 2760 800 51130 52.39 0.1%
6000 1600 2800 800 51670 97.08 0.1%
6000 1600 2840 800 52170 72 0.1%
6000 1600 2880 800 52410 98.28 0.1%
6000 1600 2920 800 52980 52.12 0.0%
6000 1600 2960 800 53300 72.04 0.1%
6000 1600 3000 400 52100 78.52 0.1%
6000 1600 3000 408 52140 42.42 0.0%
6000 1600 3000 416 52060 76.03 0.1%
6000 1600 3000 424 52220 82.11 0.1%
6000 1600 3000 432 52150 60.08 0.1%
6000 1600 3000 440 52250 44.87 0.0%
6000 1600 3000 448 52180 64.76 0.1%
6000 1600 3000 456 52380 79.05 0.1%
6000 1600 3000 464 52230 71.02 0.1%
6000 1600 3000 472 52280 70.64 0.1%
6000 1600 3000 480 52490 67.39 0.1%
6000 1600 3000 488 52580 114.3 0.2%
6000 1600 3000 496 52680 130 0.2%
6000 1600 3000 504 52760 81.65 0.1%
6000 1600 3000 512 52800 90.52 0.1%
6000 1600 3000 520 52860 49.09 0.0%
6000 1600 3000 528 53060 92.24 0.1%
6000 1600 3000 536 53110 67.37 0.1%
6000 1600 3000 544 53110 108.8 0.2%
6000 1600 3000 552 53180 66.46 0.1%
6000 1600 3000 560 53250 121.9 0.2%
6000 1600 3000 568 53370 80.24 0.1%
6000 1600 3000 576 53400 108.5 0.2%
6000 1600 3000 584 53490 97.24 0.1%
6000 1600 3000 592 53590 99.42 0.1%
6000 1600 3000 600 53640 102.7 0.1%
6000 1600 3000 608 53770 70.69 0.1%
6000 1600 3000 616 53750 83.3 0.1%
6000 1600 3000 624 53790 117.9 0.2%
6000 1600 3000 632 53820 123.6 0.2%
6000 1600 3000 640 53950 102.4 0.1%
6000 1600 3000 648 53870 67.98 0.1%
6000 1600 3000 656 53880 62.14 0.1%
6000 1600 3000 664 53920 73.5 0.1%
6000 1600 3000 672 53930 59.6 0.1%
6000 1600 3000 680 53950 76.87 0.1%
6000 1600 3000 688 54030 101 0.1%
6000 1600 3000 696 53950 80.9 0.1%
6000 1600 3000 704 53930 73.33 0.1%
6000 1600 3000 712 54020 41.42 0.0%
6000 1600 3000 720 54070 50.65 0.0%
6000 1600 3000 728 54010 60.25 0.1%
6000 1600 3000 736 54000 65.96 0.1%
6000 1600 3000 744 53990 42.36 0.0%
6000 1600 3000 752 53830 100.5 0.1%
6000 1600 3000 760 53900 53.56 0.0%
6000 1600 3000 768 53860 53.72 0.0%
6000 1600 3000 776 53790 78.54 0.1%
6000 1600 3000 784 53840 42.99 0.0%
6000 1600 3000 792 53830 86.03 0.1%
6000 1600 3000 800 53810 81.71 0.1%

Quality and confidence:
param error
v 0.01
t 0.036
a 0.01
d 0.054

Model:
Time ~= 0
+ v 4.069
+ t 0.503
+ a 10
+ d 3.734
µs

Reads = 3 + (0 * v) + (0 * t) + (0 * a) + (0 * d)
Writes = 0 + (0 * v) + (0 * t) + (0 * a) + (0 * d)

Parity Benchmarking Bot and others added 6 commits March 19, 2021 08:47
…/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs
…com:paritytech/substrate into kiz-election-provider-21-enable-multi-phase
@kianenigma
Copy link
Contributor Author

I'll do one last review of this in the weekend and then merge it @shawntabrizi @thiolliere @coriolinus

Thank you for your reviews.

@shawntabrizi
Copy link
Member

🚀

@kianenigma
Copy link
Contributor Author

bot merge

@ghost
Copy link

ghost commented Mar 20, 2021

Waiting for commit status.

@ghost ghost merged commit 283bb60 into master Mar 20, 2021
@ghost ghost deleted the kiz-election-provider-21-enable-multi-phase branch March 20, 2021 08:43
@gabrieljaegerde
Copy link

is the runtime update v30 or the motion for it scheduled already?

@kianenigma
Copy link
Contributor Author

is the runtime update v30 or the motion for it scheduled already?

not yet, Polkadot will move a bit slower, v29 is not yet enacted there.

@kianenigma kianenigma removed C1-low PR touches the given topic and has a low impact on builders. E5-breaksapi labels Mar 23, 2021
@dominicpalarchio
Copy link

dominicpalarchio commented Mar 29, 2021

Is there an ETA on v30? I've been closely following the thread on minimum staking amount, because I've lost 'exposure' and it led me here

@kianenigma
Copy link
Contributor Author

There's a release-candidate already made for v30. But testing is still on going. I hesitated to give any time estimates as it is almost impossible to know it accurately; a release needs to be tested thoroughly first, shipped to kusama and only then is ready for polkadot.

@kianenigma kianenigma added D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited and removed D9-needsaudit 👮 PR contains changes to fund-managing logic that should be properly reviewed and externally audited labels Apr 7, 2021
hirschenberger pushed a commit to hirschenberger/substrate that referenced this pull request Apr 14, 2021
…tech#8113)

* Base features and traits.

* pallet and unsigned phase

* Undo bad formattings.

* some formatting cleanup.

* Small self-cleanup.

* Make it all build

* self-review

* Some doc tests.

* Some changes from other PR

* Fix session test

* Update Cargo.lock

* Update frame/election-provider-multi-phase/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Some review comments

* Rename + make encode/decode

* Do an assert as well, just in case.

* Fix build

* Update frame/election-provider-multi-phase/src/unsigned.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Las comment

* fix staking fuzzer.

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Add one last layer of feasibility check as well.

* Last fixes to benchmarks

* Some more docs.

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* Some nits

* It all works

* Some self cleanup

* Update frame/staking/src/lib.rs

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* remove most todos.

* Round of self-review.

* Fix migration

* clean macro

* Revert wrong merge

* remove fuzzer stuff.

* Self review

* Update frame/staking/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* review comments

* add logs

* Add tests to demonstrate the capacity of the snapshot.

* Replace upgrade

* Last touches

* Fix benchmakrs

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs

* remove unused stuff

* Fix tests.

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. D1-audited 👍 PR contains changes to fund-managing logic that has been properly reviewed and externally audited
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants