mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-29 12:37:57 +00:00
Fix Phragmen benchmark (#11137)
* Fix phragmen benchmark Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs Co-authored-by: Parity Bot <admin@parity.io>
This commit is contained in:
committed by
GitHub
parent
87f02c87d0
commit
7bf19fa9c9
@@ -39,7 +39,9 @@ type Lookup<T> = <<T as frame_system::Config>::Lookup as StaticLookup>::Source;
|
||||
/// grab new account with infinite balance.
|
||||
fn endowed_account<T: Config>(name: &'static str, index: u32) -> T::AccountId {
|
||||
let account: T::AccountId = account(name, index, 0);
|
||||
let amount = default_stake::<T>(BALANCE_FACTOR);
|
||||
// Fund each account with at-least his stake but still a sane amount as to not mess up
|
||||
// the vote calculation.
|
||||
let amount = default_stake::<T>(MAX_VOTERS) * BalanceOf::<T>::from(BALANCE_FACTOR);
|
||||
let _ = T::Currency::make_free_balance_be(&account, amount);
|
||||
// important to increase the total issuance since T::CurrencyToVote will need it to be sane for
|
||||
// phragmen to work.
|
||||
@@ -54,9 +56,9 @@ fn as_lookup<T: Config>(account: T::AccountId) -> Lookup<T> {
|
||||
}
|
||||
|
||||
/// Get a reasonable amount of stake based on the execution trait's configuration
|
||||
fn default_stake<T: Config>(factor: u32) -> BalanceOf<T> {
|
||||
let factor = BalanceOf::<T>::from(factor);
|
||||
T::Currency::minimum_balance() * factor
|
||||
fn default_stake<T: Config>(num_votes: u32) -> BalanceOf<T> {
|
||||
let min = T::Currency::minimum_balance();
|
||||
Elections::<T>::deposit_of(num_votes as usize).max(min)
|
||||
}
|
||||
|
||||
/// Get the current number of candidates.
|
||||
@@ -88,7 +90,7 @@ fn submit_candidates_with_self_vote<T: Config>(
|
||||
prefix: &'static str,
|
||||
) -> Result<Vec<T::AccountId>, &'static str> {
|
||||
let candidates = submit_candidates::<T>(c, prefix)?;
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(c);
|
||||
let _ = candidates
|
||||
.iter()
|
||||
.map(|c| submit_voter::<T>(c.clone(), vec![c.clone()], stake).map(|_| ()))
|
||||
@@ -112,7 +114,7 @@ fn distribute_voters<T: Config>(
|
||||
num_voters: u32,
|
||||
votes: usize,
|
||||
) -> Result<(), &'static str> {
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(num_voters);
|
||||
for i in 0..num_voters {
|
||||
// to ensure that votes are different
|
||||
all_candidates.rotate_left(1);
|
||||
@@ -160,7 +162,7 @@ benchmarks! {
|
||||
let all_candidates = submit_candidates::<T>(v, "candidates")?;
|
||||
|
||||
let caller = endowed_account::<T>("caller", 0);
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(v);
|
||||
|
||||
// original votes.
|
||||
let mut votes = all_candidates;
|
||||
@@ -173,14 +175,15 @@ benchmarks! {
|
||||
}: vote(RawOrigin::Signed(caller), votes, stake)
|
||||
|
||||
vote_more {
|
||||
let v in 2 .. (MAXIMUM_VOTE as u32);
|
||||
let v in 2 .. (MAXIMUM_VOTE as u32);
|
||||
clean::<T>();
|
||||
|
||||
// create a bunch of candidates.
|
||||
let all_candidates = submit_candidates::<T>(v, "candidates")?;
|
||||
|
||||
let caller = endowed_account::<T>("caller", 0);
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
// Multiply the stake with 10 since we want to be able to divide it by 10 again.
|
||||
let stake = default_stake::<T>(v) * BalanceOf::<T>::from(10u32);
|
||||
|
||||
// original votes.
|
||||
let mut votes = all_candidates.iter().skip(1).cloned().collect::<Vec<_>>();
|
||||
@@ -194,14 +197,14 @@ benchmarks! {
|
||||
}: vote(RawOrigin::Signed(caller), votes, stake / <BalanceOf<T>>::from(10u32))
|
||||
|
||||
vote_less {
|
||||
let v in 2 .. (MAXIMUM_VOTE as u32);
|
||||
let v in 2 .. (MAXIMUM_VOTE as u32);
|
||||
clean::<T>();
|
||||
|
||||
// create a bunch of candidates.
|
||||
let all_candidates = submit_candidates::<T>(v, "candidates")?;
|
||||
|
||||
let caller = endowed_account::<T>("caller", 0);
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(v);
|
||||
|
||||
// original votes.
|
||||
let mut votes = all_candidates;
|
||||
@@ -224,7 +227,7 @@ benchmarks! {
|
||||
|
||||
let caller = endowed_account::<T>("caller", 0);
|
||||
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(v);
|
||||
submit_voter::<T>(caller.clone(), all_candidates, stake)?;
|
||||
|
||||
whitelist!(caller);
|
||||
@@ -238,7 +241,7 @@ benchmarks! {
|
||||
let m = T::DesiredMembers::get() + T::DesiredRunnersUp::get();
|
||||
|
||||
clean::<T>();
|
||||
let stake = default_stake::<T>(BALANCE_FACTOR);
|
||||
let stake = default_stake::<T>(c);
|
||||
|
||||
// create m members and runners combined.
|
||||
let _ = fill_seats_up_to::<T>(m)?;
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
//! Autogenerated weights for pallet_elections_phragmen
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2022-01-30, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2022-03-29, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
|
||||
|
||||
// Executed Command:
|
||||
// ./target/production/substrate
|
||||
// target/production/substrate
|
||||
// benchmark
|
||||
// --chain=dev
|
||||
// --steps=50
|
||||
@@ -33,9 +33,7 @@
|
||||
// --wasm-execution=compiled
|
||||
// --heap-pages=4096
|
||||
// --output=./frame/elections-phragmen/src/weights.rs
|
||||
// --template=.maintain/frame-weight-template.hbs
|
||||
// --header=HEADER-APACHE2
|
||||
// --raw
|
||||
// --template=./.maintain/frame-weight-template.hbs
|
||||
|
||||
#![cfg_attr(rustfmt, rustfmt_skip)]
|
||||
#![allow(unused_parens)]
|
||||
@@ -70,9 +68,9 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_equal(v: u32, ) -> Weight {
|
||||
(23_406_000 as Weight)
|
||||
(22_981_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((270_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add((232_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -82,9 +80,9 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_more(v: u32, ) -> Weight {
|
||||
(35_660_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((316_000 as Weight).saturating_mul(v as Weight))
|
||||
(36_170_000 as Weight)
|
||||
// Standard Error: 8_000
|
||||
.saturating_add((219_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -94,16 +92,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_less(v: u32, ) -> Weight {
|
||||
(35_999_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((299_000 as Weight).saturating_mul(v as Weight))
|
||||
(35_798_000 as Weight)
|
||||
// Standard Error: 8_000
|
||||
.saturating_add((241_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn remove_voter() -> Weight {
|
||||
(33_692_000 as Weight)
|
||||
(33_060_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -111,17 +109,17 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Elections Members (r:1 w:0)
|
||||
// Storage: Elections RunnersUp (r:1 w:0)
|
||||
fn submit_candidacy(c: u32, ) -> Weight {
|
||||
(35_506_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((192_000 as Weight).saturating_mul(c as Weight))
|
||||
(35_384_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((124_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Elections Candidates (r:1 w:1)
|
||||
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
|
||||
(31_402_000 as Weight)
|
||||
(31_555_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((113_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((78_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -131,13 +129,13 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Council Proposals (r:1 w:0)
|
||||
// Storage: Council Members (r:0 w:1)
|
||||
fn renounce_candidacy_members() -> Weight {
|
||||
(42_727_000 as Weight)
|
||||
(41_531_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Elections RunnersUp (r:1 w:1)
|
||||
fn renounce_candidacy_runners_up() -> Weight {
|
||||
(30_638_000 as Weight)
|
||||
(30_762_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -152,13 +150,13 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Council Proposals (r:1 w:0)
|
||||
// Storage: Council Members (r:0 w:1)
|
||||
fn remove_member_with_replacement() -> Weight {
|
||||
(49_317_000 as Weight)
|
||||
(48_287_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Elections RunnersUp (r:1 w:0)
|
||||
fn remove_member_wrong_refund() -> Weight {
|
||||
(4_688_000 as Weight)
|
||||
(4_747_000 as Weight)
|
||||
.saturating_add(T::DbWeight::get().reads(1 as Weight))
|
||||
}
|
||||
// Storage: Elections Voting (r:251 w:250)
|
||||
@@ -169,8 +167,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: System Account (r:250 w:250)
|
||||
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 36_000
|
||||
.saturating_add((51_016_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 37_000
|
||||
.saturating_add((49_564_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
|
||||
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
|
||||
@@ -186,12 +184,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: System Account (r:2 w:2)
|
||||
fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 1_760_000
|
||||
.saturating_add((29_569_000 as Weight).saturating_mul(c as Weight))
|
||||
// Standard Error: 732_000
|
||||
.saturating_add((51_842_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 49_000
|
||||
.saturating_add((3_546_000 as Weight).saturating_mul(e as Weight))
|
||||
// Standard Error: 1_656_000
|
||||
.saturating_add((29_011_000 as Weight).saturating_mul(c as Weight))
|
||||
// Standard Error: 689_000
|
||||
.saturating_add((49_204_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 47_000
|
||||
.saturating_add((3_352_000 as Weight).saturating_mul(e as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(c as Weight)))
|
||||
.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
|
||||
.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(c as Weight)))
|
||||
@@ -206,9 +204,9 @@ impl WeightInfo for () {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_equal(v: u32, ) -> Weight {
|
||||
(23_406_000 as Weight)
|
||||
(22_981_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((270_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add((232_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -218,9 +216,9 @@ impl WeightInfo for () {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_more(v: u32, ) -> Weight {
|
||||
(35_660_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((316_000 as Weight).saturating_mul(v as Weight))
|
||||
(36_170_000 as Weight)
|
||||
// Standard Error: 8_000
|
||||
.saturating_add((219_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -230,16 +228,16 @@ impl WeightInfo for () {
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn vote_less(v: u32, ) -> Weight {
|
||||
(35_999_000 as Weight)
|
||||
// Standard Error: 6_000
|
||||
.saturating_add((299_000 as Weight).saturating_mul(v as Weight))
|
||||
(35_798_000 as Weight)
|
||||
// Standard Error: 8_000
|
||||
.saturating_add((241_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
// Storage: Elections Voting (r:1 w:1)
|
||||
// Storage: Balances Locks (r:1 w:1)
|
||||
fn remove_voter() -> Weight {
|
||||
(33_692_000 as Weight)
|
||||
(33_060_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
@@ -247,17 +245,17 @@ impl WeightInfo for () {
|
||||
// Storage: Elections Members (r:1 w:0)
|
||||
// Storage: Elections RunnersUp (r:1 w:0)
|
||||
fn submit_candidacy(c: u32, ) -> Weight {
|
||||
(35_506_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((192_000 as Weight).saturating_mul(c as Weight))
|
||||
(35_384_000 as Weight)
|
||||
// Standard Error: 0
|
||||
.saturating_add((124_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: Elections Candidates (r:1 w:1)
|
||||
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
|
||||
(31_402_000 as Weight)
|
||||
(31_555_000 as Weight)
|
||||
// Standard Error: 1_000
|
||||
.saturating_add((113_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((78_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -267,13 +265,13 @@ impl WeightInfo for () {
|
||||
// Storage: Council Proposals (r:1 w:0)
|
||||
// Storage: Council Members (r:0 w:1)
|
||||
fn renounce_candidacy_members() -> Weight {
|
||||
(42_727_000 as Weight)
|
||||
(41_531_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
// Storage: Elections RunnersUp (r:1 w:1)
|
||||
fn renounce_candidacy_runners_up() -> Weight {
|
||||
(30_638_000 as Weight)
|
||||
(30_762_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
@@ -288,13 +286,13 @@ impl WeightInfo for () {
|
||||
// Storage: Council Proposals (r:1 w:0)
|
||||
// Storage: Council Members (r:0 w:1)
|
||||
fn remove_member_with_replacement() -> Weight {
|
||||
(49_317_000 as Weight)
|
||||
(48_287_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
// Storage: Elections RunnersUp (r:1 w:0)
|
||||
fn remove_member_wrong_refund() -> Weight {
|
||||
(4_688_000 as Weight)
|
||||
(4_747_000 as Weight)
|
||||
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
|
||||
}
|
||||
// Storage: Elections Voting (r:251 w:250)
|
||||
@@ -305,8 +303,8 @@ impl WeightInfo for () {
|
||||
// Storage: System Account (r:250 w:250)
|
||||
fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 36_000
|
||||
.saturating_add((51_016_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 37_000
|
||||
.saturating_add((49_564_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads((3 as Weight).saturating_mul(v as Weight)))
|
||||
.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(v as Weight)))
|
||||
@@ -322,12 +320,12 @@ impl WeightInfo for () {
|
||||
// Storage: System Account (r:2 w:2)
|
||||
fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
// Standard Error: 1_760_000
|
||||
.saturating_add((29_569_000 as Weight).saturating_mul(c as Weight))
|
||||
// Standard Error: 732_000
|
||||
.saturating_add((51_842_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 49_000
|
||||
.saturating_add((3_546_000 as Weight).saturating_mul(e as Weight))
|
||||
// Standard Error: 1_656_000
|
||||
.saturating_add((29_011_000 as Weight).saturating_mul(c as Weight))
|
||||
// Standard Error: 689_000
|
||||
.saturating_add((49_204_000 as Weight).saturating_mul(v as Weight))
|
||||
// Standard Error: 47_000
|
||||
.saturating_add((3_352_000 as Weight).saturating_mul(e as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(c as Weight)))
|
||||
.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(v as Weight)))
|
||||
.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(c as Weight)))
|
||||
|
||||
Reference in New Issue
Block a user