Refactor Benchmarks for Less Wasm Memory Usage (#9373)

* extract repeat out of benchmark

* remove r

* unused

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

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

* cargo run --quiet --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

* use linked map to keep order

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

* Delete pallet_balances.rs

* Delete out

* cargo run --quiet --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

* steps and repeat to tuple (current_*, total_*)

* idea for list command

* fmt

* use benchmark list in cli

* handle steps in cli

* move log update to cli

* fmt

* remove old todo

* line width

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

* benchmark metadata function

* don't need this warm up

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

* fix warnings

* fix node-template

* fix

* fmt

* line width

* cargo run --quiet --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

* improve docs

* improve cli

* fix format

* fix bug?

* Revert "fix bug?"

This reverts commit 8051bf1bf9bae862ff28dfff386e7045cd3f045e.

* skip frame-metadata

* extract repeat out of benchmark

* remove r

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

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

* cargo run --quiet --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

* use linked map to keep order

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

* Delete pallet_balances.rs

* Delete out

* cargo run --quiet --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

* steps and repeat to tuple (current_*, total_*)

* idea for list command

* fmt

* use benchmark list in cli

* handle steps in cli

* move log update to cli

* remove old todo

* line width

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

* benchmark metadata function

* don't need this warm up

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

* fix warnings

* fix node-template

* fix

* fmt

* line width

* cargo run --quiet --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

* improve docs

* improve cli

* fix format

* fix bug?

* Revert "fix bug?"

This reverts commit 8051bf1bf9bae862ff28dfff386e7045cd3f045e.

* skip frame-metadata

* Update .gitlab-ci.yml

* fix import

* Update .gitlab-ci.yml

Co-authored-by: Parity Benchmarking Bot <admin@parity.io>
This commit is contained in:
Shawn Tabrizi
2021-08-01 20:13:58 +02:00
committed by GitHub
parent df59596ec0
commit fa8c6274ac
12 changed files with 1003 additions and 483 deletions
+404 -116
View File
@@ -17,8 +17,8 @@
//! Autogenerated weights for pallet_staking
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0
//! DATE: 2021-06-19, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2021-07-31, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
// Executed Command:
@@ -78,376 +78,664 @@ pub trait WeightInfo {
/// Weights for pallet_staking using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
fn bond() -> Weight {
(72_617_000 as Weight)
(77_492_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(4 as Weight))
}
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
fn bond_extra() -> Weight {
(55_590_000 as Weight)
(59_476_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
fn unbond() -> Weight {
(59_730_000 as Weight)
(63_655_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: System Account (r:1 w:1)
fn withdraw_unbonded_update(s: u32, ) -> Weight {
(52_279_000 as Weight)
(54_534_000 as Weight)
// Standard Error: 0
.saturating_add((68_000 as Weight).saturating_mul(s as Weight))
.saturating_add((24_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Staking SpanSlash (r:0 w:2)
fn withdraw_unbonded_kill(s: u32, ) -> Weight {
(86_629_000 as Weight)
(89_850_000 as Weight)
// Standard Error: 1_000
.saturating_add((2_379_000 as Weight).saturating_mul(s as Weight))
.saturating_add((2_396_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(8 as Weight))
.saturating_add(T::DbWeight::get().writes(6 as Weight))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking MaxValidatorsCount (r:1 w:0)
// Storage: Staking MinValidatorBond (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
fn validate() -> Weight {
(32_393_000 as Weight)
(36_726_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:1)
fn kick(k: u32, ) -> Weight {
(36_986_000 as Weight)
// Standard Error: 13_000
.saturating_add((16_574_000 as Weight).saturating_mul(k as Weight))
(19_497_000 as Weight)
// Standard Error: 15_000
.saturating_add((17_057_000 as Weight).saturating_mul(k as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(k as Weight)))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
}
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking MinNominatorBond (r:1 w:0)
// Storage: Staking CounterForNominators (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Nominators (r:1 w:1)
// Storage: Staking Validators (r:2 w:0)
// Storage: Staking MaxNominatorsCount (r:1 w:0)
fn nominate(n: u32, ) -> Weight {
(43_228_000 as Weight)
// Standard Error: 21_000
.saturating_add((5_119_000 as Weight).saturating_mul(n as Weight))
(45_146_000 as Weight)
// Standard Error: 13_000
.saturating_add((5_527_000 as Weight).saturating_mul(n as Weight))
.saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(n as Weight)))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
fn chill() -> Weight {
(17_800_000 as Weight)
(18_986_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
}
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Ledger (r:1 w:0)
fn set_payee() -> Weight {
(12_612_000 as Weight)
(13_348_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Ledger (r:2 w:2)
fn set_controller() -> Weight {
(27_503_000 as Weight)
(28_148_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
// Storage: Staking ValidatorCount (r:0 w:1)
fn set_validator_count() -> Weight {
(2_119_000 as Weight)
(2_909_000 as Weight)
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_no_eras() -> Weight {
(2_320_000 as Weight)
(3_163_000 as Weight)
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_new_era() -> Weight {
(2_269_000 as Weight)
(3_141_000 as Weight)
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_new_era_always() -> Weight {
(2_334_000 as Weight)
(3_220_000 as Weight)
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking Invulnerables (r:0 w:1)
fn set_invulnerables(v: u32, ) -> Weight {
(2_354_000 as Weight)
(3_569_000 as Weight)
// Standard Error: 0
.saturating_add((5_000 as Weight).saturating_mul(v as Weight))
.saturating_add((58_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: Staking Ledger (r:0 w:1)
// Storage: Staking SpanSlash (r:0 w:2)
fn force_unstake(s: u32, ) -> Weight {
(61_556_000 as Weight)
(65_753_000 as Weight)
// Standard Error: 1_000
.saturating_add((2_377_000 as Weight).saturating_mul(s as Weight))
.saturating_add((2_420_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(6 as Weight))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking UnappliedSlashes (r:1 w:1)
fn cancel_deferred_slash(s: u32, ) -> Weight {
(3_367_105_000 as Weight)
// Standard Error: 222_000
.saturating_add((19_817_000 as Weight).saturating_mul(s as Weight))
(3_056_514_000 as Weight)
// Standard Error: 218_000
.saturating_add((21_159_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: Staking Bonded (r:2 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking ErasRewardPoints (r:1 w:0)
// Storage: Staking ErasValidatorReward (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Staking Payee (r:2 w:0)
// Storage: Staking ErasStakersClipped (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:1 w:0)
fn payout_stakers_dead_controller(n: u32, ) -> Weight {
(47_229_000 as Weight)
// Standard Error: 53_000
.saturating_add((48_365_000 as Weight).saturating_mul(n as Weight))
(121_794_000 as Weight)
// Standard Error: 19_000
.saturating_add((49_467_000 as Weight).saturating_mul(n as Weight))
.saturating_add(T::DbWeight::get().reads(10 as Weight))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(n as Weight)))
}
// Storage: Staking ErasValidatorPrefs (r:1 w:0)
// Storage: Staking Ledger (r:2 w:2)
// Storage: Staking ErasValidatorReward (r:1 w:0)
// Storage: Balances Locks (r:2 w:2)
// Storage: Staking ErasRewardPoints (r:1 w:0)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Staking ErasStakersClipped (r:1 w:0)
// Storage: Staking Bonded (r:2 w:0)
// Storage: Staking Payee (r:2 w:0)
fn payout_stakers_alive_staked(n: u32, ) -> Weight {
(156_788_000 as Weight)
// Standard Error: 20_000
.saturating_add((61_280_000 as Weight).saturating_mul(n as Weight))
(147_049_000 as Weight)
// Standard Error: 30_000
.saturating_add((64_428_000 as Weight).saturating_mul(n as Weight))
.saturating_add(T::DbWeight::get().reads(11 as Weight))
.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(n as Weight)))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn rebond(l: u32, ) -> Weight {
(47_815_000 as Weight)
(52_184_000 as Weight)
// Standard Error: 1_000
.saturating_add((65_000 as Weight).saturating_mul(l as Weight))
.saturating_add((35_000 as Weight).saturating_mul(l as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
// Storage: Staking ErasStakersClipped (r:0 w:2)
// Storage: Staking ErasValidatorReward (r:0 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:0 w:2)
// Storage: Staking ErasTotalStake (r:0 w:1)
// Storage: Staking ErasStakers (r:0 w:2)
// Storage: Staking ErasRewardPoints (r:0 w:1)
// Storage: Staking HistoryDepth (r:1 w:1)
// Storage: Staking ErasStartSessionIndex (r:0 w:1)
fn set_history_depth(e: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 74_000
.saturating_add((34_945_000 as Weight).saturating_mul(e as Weight))
// Standard Error: 57_000
.saturating_add((30_689_000 as Weight).saturating_mul(e as Weight))
.saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().writes(4 as Weight))
.saturating_add(T::DbWeight::get().writes((7 as Weight).saturating_mul(e as Weight)))
}
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking SlashingSpans (r:1 w:1)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking SpanSlash (r:0 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Ledger (r:0 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
fn reap_stash(s: u32, ) -> Weight {
(73_483_000 as Weight)
// Standard Error: 0
.saturating_add((2_384_000 as Weight).saturating_mul(s as Weight))
(75_836_000 as Weight)
// Standard Error: 2_000
.saturating_add((2_423_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().writes(8 as Weight))
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: System BlockWeight (r:1 w:1)
// Storage: Staking ErasStakers (r:0 w:1)
// Storage: Staking ErasStakersClipped (r:0 w:1)
// Storage: Staking Nominators (r:101 w:0)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: Staking ErasStartSessionIndex (r:0 w:1)
// Storage: Staking Ledger (r:101 w:0)
// Storage: Staking Validators (r:2 w:0)
// Storage: Staking Bonded (r:101 w:0)
// Storage: Staking CounterForNominators (r:1 w:0)
// Storage: Staking ValidatorCount (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:0 w:1)
// Storage: Staking CounterForValidators (r:1 w:0)
// Storage: Staking CurrentEra (r:1 w:1)
// Storage: Staking MinimumValidatorCount (r:1 w:0)
// Storage: Staking ErasTotalStake (r:0 w:1)
fn new_era(v: u32, n: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 846_000
.saturating_add((305_234_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 42_000
.saturating_add((48_280_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 1_492_000
.saturating_add((299_860_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 99_000
.saturating_add((47_937_000 as Weight).saturating_mul(n as Weight))
.saturating_add(T::DbWeight::get().reads(10 as Weight))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(T::DbWeight::get().writes(4 as Weight))
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
}
// Storage: Staking Validators (r:501 w:0)
// Storage: Staking Bonded (r:1500 w:0)
// Storage: Staking Nominators (r:1001 w:0)
// Storage: Staking Ledger (r:1500 w:0)
// Storage: Staking SlashingSpans (r:21 w:0)
fn get_npos_voters(v: u32, n: u32, s: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 99_000
.saturating_add((25_735_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 99_000
.saturating_add((28_122_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 3_388_000
.saturating_add((21_500_000 as Weight).saturating_mul(s as Weight))
// Standard Error: 101_000
.saturating_add((27_304_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 101_000
.saturating_add((29_893_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 3_441_000
.saturating_add((91_111_000 as Weight).saturating_mul(s as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking Validators (r:501 w:0)
fn get_npos_targets(v: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 30_000
.saturating_add((11_065_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 32_000
.saturating_add((11_692_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
}
// Storage: Staking MaxNominatorsCount (r:0 w:1)
// Storage: Staking MaxValidatorsCount (r:0 w:1)
// Storage: Staking MinValidatorBond (r:0 w:1)
// Storage: Staking ChillThreshold (r:0 w:1)
// Storage: Staking MinNominatorBond (r:0 w:1)
fn set_staking_limits() -> Weight {
(5_028_000 as Weight)
.saturating_add(T::DbWeight::get().writes(4 as Weight))
(7_325_000 as Weight)
.saturating_add(T::DbWeight::get().writes(5 as Weight))
}
// Storage: Staking MinValidatorBond (r:1 w:0)
// Storage: Staking ChillThreshold (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
// Storage: Staking MaxValidatorsCount (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
fn chill_other() -> Weight {
(35_758_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
(62_683_000 as Weight)
.saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
}
// For backwards compatibility and tests
impl WeightInfo for () {
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
fn bond() -> Weight {
(72_617_000 as Weight)
(77_492_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
}
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
fn bond_extra() -> Weight {
(55_590_000 as Weight)
(59_476_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
fn unbond() -> Weight {
(59_730_000 as Weight)
(63_655_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: System Account (r:1 w:1)
fn withdraw_unbonded_update(s: u32, ) -> Weight {
(52_279_000 as Weight)
(54_534_000 as Weight)
// Standard Error: 0
.saturating_add((68_000 as Weight).saturating_mul(s as Weight))
.saturating_add((24_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: System Account (r:1 w:1)
// Storage: Staking SpanSlash (r:0 w:2)
fn withdraw_unbonded_kill(s: u32, ) -> Weight {
(86_629_000 as Weight)
(89_850_000 as Weight)
// Standard Error: 1_000
.saturating_add((2_379_000 as Weight).saturating_mul(s as Weight))
.saturating_add((2_396_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(8 as Weight))
.saturating_add(RocksDbWeight::get().writes(6 as Weight))
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking MaxValidatorsCount (r:1 w:0)
// Storage: Staking MinValidatorBond (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
fn validate() -> Weight {
(32_393_000 as Weight)
(36_726_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:1)
fn kick(k: u32, ) -> Weight {
(36_986_000 as Weight)
// Standard Error: 13_000
.saturating_add((16_574_000 as Weight).saturating_mul(k as Weight))
(19_497_000 as Weight)
// Standard Error: 15_000
.saturating_add((17_057_000 as Weight).saturating_mul(k as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(k as Weight)))
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
}
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking MinNominatorBond (r:1 w:0)
// Storage: Staking CounterForNominators (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Nominators (r:1 w:1)
// Storage: Staking Validators (r:2 w:0)
// Storage: Staking MaxNominatorsCount (r:1 w:0)
fn nominate(n: u32, ) -> Weight {
(43_228_000 as Weight)
// Standard Error: 21_000
.saturating_add((5_119_000 as Weight).saturating_mul(n as Weight))
(45_146_000 as Weight)
// Standard Error: 13_000
.saturating_add((5_527_000 as Weight).saturating_mul(n as Weight))
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(n as Weight)))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
fn chill() -> Weight {
(17_800_000 as Weight)
(18_986_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
}
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Ledger (r:1 w:0)
fn set_payee() -> Weight {
(12_612_000 as Weight)
(13_348_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Ledger (r:2 w:2)
fn set_controller() -> Weight {
(27_503_000 as Weight)
(28_148_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
// Storage: Staking ValidatorCount (r:0 w:1)
fn set_validator_count() -> Weight {
(2_119_000 as Weight)
(2_909_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_no_eras() -> Weight {
(2_320_000 as Weight)
(3_163_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_new_era() -> Weight {
(2_269_000 as Weight)
(3_141_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking ForceEra (r:0 w:1)
fn force_new_era_always() -> Weight {
(2_334_000 as Weight)
(3_220_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking Invulnerables (r:0 w:1)
fn set_invulnerables(v: u32, ) -> Weight {
(2_354_000 as Weight)
(3_569_000 as Weight)
// Standard Error: 0
.saturating_add((5_000 as Weight).saturating_mul(v as Weight))
.saturating_add((58_000 as Weight).saturating_mul(v as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: Staking Ledger (r:0 w:1)
// Storage: Staking SpanSlash (r:0 w:2)
fn force_unstake(s: u32, ) -> Weight {
(61_556_000 as Weight)
(65_753_000 as Weight)
// Standard Error: 1_000
.saturating_add((2_377_000 as Weight).saturating_mul(s as Weight))
.saturating_add((2_420_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(6 as Weight))
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking UnappliedSlashes (r:1 w:1)
fn cancel_deferred_slash(s: u32, ) -> Weight {
(3_367_105_000 as Weight)
// Standard Error: 222_000
.saturating_add((19_817_000 as Weight).saturating_mul(s as Weight))
(3_056_514_000 as Weight)
// Standard Error: 218_000
.saturating_add((21_159_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
// Storage: Staking Bonded (r:2 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking ErasRewardPoints (r:1 w:0)
// Storage: Staking ErasValidatorReward (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Staking Payee (r:2 w:0)
// Storage: Staking ErasStakersClipped (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:1 w:0)
fn payout_stakers_dead_controller(n: u32, ) -> Weight {
(47_229_000 as Weight)
// Standard Error: 53_000
.saturating_add((48_365_000 as Weight).saturating_mul(n as Weight))
(121_794_000 as Weight)
// Standard Error: 19_000
.saturating_add((49_467_000 as Weight).saturating_mul(n as Weight))
.saturating_add(RocksDbWeight::get().reads(10 as Weight))
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(n as Weight)))
}
// Storage: Staking ErasValidatorPrefs (r:1 w:0)
// Storage: Staking Ledger (r:2 w:2)
// Storage: Staking ErasValidatorReward (r:1 w:0)
// Storage: Balances Locks (r:2 w:2)
// Storage: Staking ErasRewardPoints (r:1 w:0)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Staking ErasStakersClipped (r:1 w:0)
// Storage: Staking Bonded (r:2 w:0)
// Storage: Staking Payee (r:2 w:0)
fn payout_stakers_alive_staked(n: u32, ) -> Weight {
(156_788_000 as Weight)
// Standard Error: 20_000
.saturating_add((61_280_000 as Weight).saturating_mul(n as Weight))
(147_049_000 as Weight)
// Standard Error: 30_000
.saturating_add((64_428_000 as Weight).saturating_mul(n as Weight))
.saturating_add(RocksDbWeight::get().reads(11 as Weight))
.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(n as Weight)))
}
// Storage: Balances Locks (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn rebond(l: u32, ) -> Weight {
(47_815_000 as Weight)
(52_184_000 as Weight)
// Standard Error: 1_000
.saturating_add((65_000 as Weight).saturating_mul(l as Weight))
.saturating_add((35_000 as Weight).saturating_mul(l as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
// Storage: Staking ErasStakersClipped (r:0 w:2)
// Storage: Staking ErasValidatorReward (r:0 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:0 w:2)
// Storage: Staking ErasTotalStake (r:0 w:1)
// Storage: Staking ErasStakers (r:0 w:2)
// Storage: Staking ErasRewardPoints (r:0 w:1)
// Storage: Staking HistoryDepth (r:1 w:1)
// Storage: Staking ErasStartSessionIndex (r:0 w:1)
fn set_history_depth(e: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 74_000
.saturating_add((34_945_000 as Weight).saturating_mul(e as Weight))
// Standard Error: 57_000
.saturating_add((30_689_000 as Weight).saturating_mul(e as Weight))
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
.saturating_add(RocksDbWeight::get().writes((7 as Weight).saturating_mul(e as Weight)))
}
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking SlashingSpans (r:1 w:1)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking SpanSlash (r:0 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
// Storage: Staking Ledger (r:0 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
fn reap_stash(s: u32, ) -> Weight {
(73_483_000 as Weight)
// Standard Error: 0
.saturating_add((2_384_000 as Weight).saturating_mul(s as Weight))
(75_836_000 as Weight)
// Standard Error: 2_000
.saturating_add((2_423_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
.saturating_add(RocksDbWeight::get().writes(8 as Weight))
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: System BlockWeight (r:1 w:1)
// Storage: Staking ErasStakers (r:0 w:1)
// Storage: Staking ErasStakersClipped (r:0 w:1)
// Storage: Staking Nominators (r:101 w:0)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: Staking ErasStartSessionIndex (r:0 w:1)
// Storage: Staking Ledger (r:101 w:0)
// Storage: Staking Validators (r:2 w:0)
// Storage: Staking Bonded (r:101 w:0)
// Storage: Staking CounterForNominators (r:1 w:0)
// Storage: Staking ValidatorCount (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: Staking ErasValidatorPrefs (r:0 w:1)
// Storage: Staking CounterForValidators (r:1 w:0)
// Storage: Staking CurrentEra (r:1 w:1)
// Storage: Staking MinimumValidatorCount (r:1 w:0)
// Storage: Staking ErasTotalStake (r:0 w:1)
fn new_era(v: u32, n: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 846_000
.saturating_add((305_234_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 42_000
.saturating_add((48_280_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 1_492_000
.saturating_add((299_860_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 99_000
.saturating_add((47_937_000 as Weight).saturating_mul(n as Weight))
.saturating_add(RocksDbWeight::get().reads(10 as Weight))
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
}
// Storage: Staking Validators (r:501 w:0)
// Storage: Staking Bonded (r:1500 w:0)
// Storage: Staking Nominators (r:1001 w:0)
// Storage: Staking Ledger (r:1500 w:0)
// Storage: Staking SlashingSpans (r:21 w:0)
fn get_npos_voters(v: u32, n: u32, s: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 99_000
.saturating_add((25_735_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 99_000
.saturating_add((28_122_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 3_388_000
.saturating_add((21_500_000 as Weight).saturating_mul(s as Weight))
// Standard Error: 101_000
.saturating_add((27_304_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 101_000
.saturating_add((29_893_000 as Weight).saturating_mul(n as Weight))
// Standard Error: 3_441_000
.saturating_add((91_111_000 as Weight).saturating_mul(s as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(n as Weight)))
.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
}
// Storage: Staking Validators (r:501 w:0)
fn get_npos_targets(v: u32, ) -> Weight {
(0 as Weight)
// Standard Error: 30_000
.saturating_add((11_065_000 as Weight).saturating_mul(v as Weight))
// Standard Error: 32_000
.saturating_add((11_692_000 as Weight).saturating_mul(v as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
}
// Storage: Staking MaxNominatorsCount (r:0 w:1)
// Storage: Staking MaxValidatorsCount (r:0 w:1)
// Storage: Staking MinValidatorBond (r:0 w:1)
// Storage: Staking ChillThreshold (r:0 w:1)
// Storage: Staking MinNominatorBond (r:0 w:1)
fn set_staking_limits() -> Weight {
(5_028_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
(7_325_000 as Weight)
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
}
// Storage: Staking MinValidatorBond (r:1 w:0)
// Storage: Staking ChillThreshold (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking Validators (r:1 w:1)
// Storage: Staking CounterForValidators (r:1 w:1)
// Storage: Staking MaxValidatorsCount (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
fn chill_other() -> Weight {
(35_758_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
(62_683_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(7 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
}