Add benchmarks for Xcmp QueueConfigData setters (#982)

* add benchmarks for xcmp queue config data setters

* add new benchmarks

* cargo fmt

* added newline

* Additional weights for dmp queue for westmint

* include new weights

* Adding WeightInfo trait and friends

* WeightInfo should be on xcmp rather than dmp pallet

* cargo fmt

* update scripts

* mock weightinfo

* cargo fmt

* canvas kusama is substrate weight

* weights from bm2

* expanding to other similar config functions

* updated weights from bm2

* Revert "updated weights from bm2"

This reverts commit b1702780982c278b44f572c2089b1d7ddc564d76.

* Consolidation to one benchmark

* reran weights

* Update pallets/xcmp-queue/src/lib.rs

Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>

* integrating review feedback

* rerun weights

* Add DispatchClass::Operational

Co-authored-by: Squirrel <gilescope@gmail.com>
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
This commit is contained in:
Doordashcon
2022-03-07 12:47:24 +01:00
committed by GitHub
parent ca379cf7c8
commit 8d96b8673f
23 changed files with 305 additions and 15 deletions
@@ -423,6 +423,7 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime {
type ExecuteOverweightOrigin = EnsureRoot<AccountId>;
type ControllerOrigin = EnsureRoot<AccountId>;
type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;
type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo<Runtime>;
}
impl cumulus_pallet_dmp_queue::Config for Runtime {
@@ -617,6 +618,7 @@ mod benches {
[pallet_utility, Utility]
[pallet_timestamp, Timestamp]
[pallet_collator_selection, CollatorSelection]
[cumulus_pallet_xcmp_queue, XcmpQueue]
);
}
@@ -0,0 +1,59 @@
// Copyright 2021 Parity Technologies (UK) Ltd.
// This file is part of Cumulus.
// Cumulus 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.
// Cumulus 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 Cumulus. If not, see <http://www.gnu.org/licenses/>.
//! Autogenerated weights for `cumulus_pallet_xcmp_queue`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-03-04, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westmint-dev"), DB CACHE: 1024
// Executed Command:
// ./target/production/polkadot-collator
// benchmark
// --chain=westmint-dev
// --execution=wasm
// --wasm-execution=compiled
// --pallet=cumulus_pallet_xcmp_queue
// --extrinsic=*
// --steps=50
// --repeat=20
// --json
// --header=./file_header.txt
// --output=./polkadot-parachains/westmint/src/weights
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::Weight};
use sp_std::marker::PhantomData;
/// Weight functions for `cumulus_pallet_xcmp_queue`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo<T> {
// Storage: XcmpQueue QueueConfig (r:1 w:1)
fn set_config_with_u32() -> Weight {
(2_617_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
// Storage: XcmpQueue QueueConfig (r:1 w:1)
fn set_config_with_weight() -> Weight {
(2_505_000 as Weight)
.saturating_add(T::DbWeight::get().reads(1 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
}
@@ -1,3 +1,4 @@
pub mod cumulus_pallet_xcmp_queue;
pub mod frame_system;
pub mod pallet_assets;
pub mod pallet_balances;