mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 08:11:03 +00:00
Companion for substrate/pull/7161 (#1739)
* Companion for https://github.com/paritytech/substrate/pull/7161 * Update weights * Update tests * remove weight tests * Update weights using benchmarking machine ./substrate2/target/release/substrate benchmark --chain dev --steps 50 --repeat 20 --pallet pallet_elections_phragmen --extrinsic "*" --raw --execution=wasm --wasm-execution=compiled --output * "Update Substrate" Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com> Co-authored-by: parity-processbot <>
This commit is contained in:
Generated
+134
-134
File diff suppressed because it is too large
Load Diff
@@ -459,7 +459,7 @@ impl pallet_elections_phragmen::Trait for Runtime {
|
||||
type DesiredRunnersUp = DesiredRunnersUp;
|
||||
type TermDuration = TermDuration;
|
||||
type ModuleId = ElectionsPhragmenModuleId;
|
||||
type WeightInfo = ();
|
||||
type WeightInfo = weights::pallet_elections_phragmen::WeightInfo;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -27,3 +27,4 @@ pub mod pallet_timestamp;
|
||||
pub mod pallet_treasury;
|
||||
pub mod pallet_utility;
|
||||
pub mod pallet_vesting;
|
||||
pub mod pallet_elections_phragmen;
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2019-2020 Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0-rc6
|
||||
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
|
||||
use frame_support::weights::{Weight, constants::RocksDbWeight as DbWeight};
|
||||
|
||||
pub struct WeightInfo;
|
||||
impl pallet_elections_phragmen::WeightInfo for WeightInfo {
|
||||
fn vote(v: u32, ) -> Weight {
|
||||
(91_489_000 as Weight)
|
||||
.saturating_add((199_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn vote_update(v: u32, ) -> Weight {
|
||||
(56_511_000 as Weight)
|
||||
.saturating_add((245_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn remove_voter() -> Weight {
|
||||
(76_714_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn report_defunct_voter_correct(c: u32, v: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
.saturating_add((1_743_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((31_750_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(7 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn report_defunct_voter_incorrect(c: u32, v: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
.saturating_add((1_733_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((31_861_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn submit_candidacy(c: u32, ) -> Weight {
|
||||
(74_714_000 as Weight)
|
||||
.saturating_add((315_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
|
||||
(50_408_000 as Weight)
|
||||
.saturating_add((159_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_members() -> Weight {
|
||||
(79_626_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_runners_up() -> Weight {
|
||||
(49_715_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn remove_member_with_replacement() -> Weight {
|
||||
(76_572_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
fn remove_member_wrong_refund() -> Weight {
|
||||
(8_777_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
}
|
||||
}
|
||||
@@ -515,7 +515,7 @@ impl pallet_elections_phragmen::Trait for Runtime {
|
||||
type DesiredMembers = DesiredMembers;
|
||||
type DesiredRunnersUp = DesiredRunnersUp;
|
||||
type TermDuration = TermDuration;
|
||||
type WeightInfo = ();
|
||||
type WeightInfo = weights::pallet_elections_phragmen::WeightInfo;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -27,3 +27,4 @@ pub mod pallet_timestamp;
|
||||
pub mod pallet_treasury;
|
||||
pub mod pallet_utility;
|
||||
pub mod pallet_vesting;
|
||||
pub mod pallet_elections_phragmen;
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2019-2020 Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0-rc6
|
||||
|
||||
#![allow(unused_parens)]
|
||||
#![allow(unused_imports)]
|
||||
|
||||
use frame_support::weights::{Weight, constants::RocksDbWeight as DbWeight};
|
||||
|
||||
pub struct WeightInfo;
|
||||
impl pallet_elections_phragmen::WeightInfo for WeightInfo {
|
||||
fn vote(v: u32, ) -> Weight {
|
||||
(91_489_000 as Weight)
|
||||
.saturating_add((199_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn vote_update(v: u32, ) -> Weight {
|
||||
(56_511_000 as Weight)
|
||||
.saturating_add((245_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(5 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn remove_voter() -> Weight {
|
||||
(76_714_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(2 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn report_defunct_voter_correct(c: u32, v: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
.saturating_add((1_743_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((31_750_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(7 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(3 as Weight))
|
||||
}
|
||||
fn report_defunct_voter_incorrect(c: u32, v: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
.saturating_add((1_733_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add((31_861_000 as Weight).saturating_mul(v as Weight))
|
||||
.saturating_add(DbWeight::get().reads(6 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(2 as Weight))
|
||||
}
|
||||
fn submit_candidacy(c: u32, ) -> Weight {
|
||||
(74_714_000 as Weight)
|
||||
.saturating_add((315_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_candidate(c: u32, ) -> Weight {
|
||||
(50_408_000 as Weight)
|
||||
.saturating_add((159_000 as Weight).saturating_mul(c as Weight))
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_members() -> Weight {
|
||||
(79_626_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(3 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(4 as Weight))
|
||||
}
|
||||
fn renounce_candidacy_runners_up() -> Weight {
|
||||
(49_715_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
fn remove_member_with_replacement() -> Weight {
|
||||
(76_572_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(DbWeight::get().writes(5 as Weight))
|
||||
}
|
||||
fn remove_member_wrong_refund() -> Weight {
|
||||
(8_777_000 as Weight)
|
||||
.saturating_add(DbWeight::get().reads(1 as Weight))
|
||||
}
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
// Copyright 2020 Parity Technologies (UK) Ltd.
|
||||
// This file is part of Polkadot.
|
||||
|
||||
// Polkadot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// Polkadot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
//! Tests to make sure that Polkadot's weights and fees match what we
|
||||
//! expect from Substrate.
|
||||
//!
|
||||
//! These test are not meant to be exhaustive, as it is inevitable that
|
||||
//! weights in Substrate will change. Instead they are supposed to provide
|
||||
//! some sort of indicator that calls we consider important (e.g pallet_balances::transfer)
|
||||
//! have not suddenly changed from under us.
|
||||
//!
|
||||
//! Some of the tests in this crate print insightful logs. Run with:
|
||||
//!
|
||||
//! ```
|
||||
//! $ cargo test -p polkadot-runtime -- --nocapture --test-threads=1
|
||||
//! ```
|
||||
|
||||
use frame_support::weights::{constants::*, GetDispatchInfo};
|
||||
use polkadot_runtime::{self, Runtime};
|
||||
use runtime_common::MaximumBlockWeight;
|
||||
|
||||
use pallet_elections_phragmen::Call as PhragmenCall;
|
||||
use frame_system::Call as SystemCall;
|
||||
|
||||
type DbWeight = <Runtime as frame_system::Trait>::DbWeight;
|
||||
|
||||
#[test]
|
||||
fn sanity_check_weight_per_time_constants_are_as_expected() {
|
||||
// These values comes from Substrate, we want to make sure that if it
|
||||
// ever changes we don't accidentally break Polkadot
|
||||
assert_eq!(WEIGHT_PER_SECOND, 1_000_000_000_000);
|
||||
assert_eq!(WEIGHT_PER_MILLIS, WEIGHT_PER_SECOND / 1000);
|
||||
assert_eq!(WEIGHT_PER_MICROS, WEIGHT_PER_MILLIS / 1000);
|
||||
assert_eq!(WEIGHT_PER_NANOS, WEIGHT_PER_MICROS / 1000);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn weight_of_system_set_code_is_correct() {
|
||||
// #[weight = (T::MaximumBlockWeight::get(), DispatchClass::Operational)]
|
||||
let expected_weight = MaximumBlockWeight::get();
|
||||
let weight = SystemCall::set_code::<Runtime>(vec![]).get_dispatch_info().weight;
|
||||
|
||||
assert_eq!(weight, expected_weight);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn weight_of_phragmen_vote_is_correct() {
|
||||
// #[weight = 100_000_000]
|
||||
let expected_weight = 350_000_000;
|
||||
let weight = PhragmenCall::vote::<Runtime>(Default::default(), Default::default()).get_dispatch_info().weight;
|
||||
|
||||
assert_eq!(weight, expected_weight);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn weight_of_phragmen_submit_candidacy_is_correct() {
|
||||
let expected_weight = WEIGHT_PER_MICROS * 35 + 1 * 375 * WEIGHT_PER_NANOS + DbWeight::get().reads_writes(4, 1);
|
||||
let weight = PhragmenCall::submit_candidacy::<Runtime>(1).get_dispatch_info().weight;
|
||||
|
||||
assert_eq!(weight, expected_weight);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn weight_of_phragmen_renounce_candidacy_is_correct() {
|
||||
let expected_weight = 46 * WEIGHT_PER_MICROS + DbWeight::get().reads_writes(2, 2);
|
||||
let weight = PhragmenCall::renounce_candidacy::<Runtime>(pallet_elections_phragmen::Renouncing::Member)
|
||||
.get_dispatch_info().weight;
|
||||
|
||||
assert_eq!(weight, expected_weight);
|
||||
}
|
||||
Reference in New Issue
Block a user