From c4c9a67a4a64795e8b71606119ab02a3a64cd8cb Mon Sep 17 00:00:00 2001 From: bgallois <benjamin@gallois.cc> Date: Fri, 16 Feb 2024 13:05:22 +0100 Subject: [PATCH] add weight for on_removed_wot_member --- pallets/smith-members/src/benchmarking.rs | 22 ++++++++ pallets/smith-members/src/lib.rs | 6 ++- pallets/smith-members/src/weights.rs | 10 ++++ .../src/weights/pallet_smith_members.rs | 51 ++++++++++++++++--- 4 files changed, 81 insertions(+), 8 deletions(-) diff --git a/pallets/smith-members/src/benchmarking.rs b/pallets/smith-members/src/benchmarking.rs index b3730a866..3539c9ed8 100644 --- a/pallets/smith-members/src/benchmarking.rs +++ b/pallets/smith-members/src/benchmarking.rs @@ -96,6 +96,28 @@ mod benchmarks { Ok(()) } + #[benchmark] + fn on_removed_wot_member() { + let idty: T::IdtyIndex = 1.into(); + assert!(Smiths::<T>::get(idty).is_some()); + + #[block] + { + Pallet::<T>::on_removed_wot_member(idty); + } + } + + #[benchmark] + fn on_removed_wot_member_empty() { + let idty: T::IdtyIndex = 100.into(); + assert!(Smiths::<T>::get(idty).is_none()); + + #[block] + { + Pallet::<T>::on_removed_wot_member(idty); + } + } + impl_benchmark_test_suite!( Pallet, crate::mock::new_test_ext(crate::GenesisConfig { diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs index f9e126a18..28deb237f 100644 --- a/pallets/smith-members/src/lib.rs +++ b/pallets/smith-members/src/lib.rs @@ -35,6 +35,7 @@ use frame_support::dispatch::DispatchResultWithPostInfo; use frame_support::ensure; use frame_support::pallet_prelude::Get; use frame_support::pallet_prelude::RuntimeDebug; +use frame_support::pallet_prelude::Weight; use frame_system::ensure_signed; use frame_system::pallet_prelude::OriginFor; use scale_info::TypeInfo; @@ -491,10 +492,13 @@ impl<T: Config> Pallet<T> { } } - pub fn on_removed_wot_member(idty_index: T::IdtyIndex) { + pub fn on_removed_wot_member(idty_index: T::IdtyIndex) -> Weight { + let mut weight = T::WeightInfo::on_removed_wot_member_empty(); if Smiths::<T>::get(idty_index).is_some() { Self::_do_exclude_smith(idty_index, SmithRemovalReason::LostMembership); + weight += T::WeightInfo::on_removed_wot_member(); } + weight } fn _do_exclude_smith(receiver: T::IdtyIndex, reason: SmithRemovalReason) { diff --git a/pallets/smith-members/src/weights.rs b/pallets/smith-members/src/weights.rs index 76a6d6af7..869d598f7 100644 --- a/pallets/smith-members/src/weights.rs +++ b/pallets/smith-members/src/weights.rs @@ -23,6 +23,8 @@ pub trait WeightInfo { fn invite_smith() -> Weight; fn accept_invitation() -> Weight; fn certify_smith() -> Weight; + fn on_removed_wot_member() -> Weight; + fn on_removed_wot_member_empty() -> Weight; } impl WeightInfo for () { @@ -37,4 +39,12 @@ impl WeightInfo for () { fn certify_smith() -> Weight { Weight::zero() } + + fn on_removed_wot_member() -> Weight { + Weight::zero() + } + + fn on_removed_wot_member_empty() -> Weight { + Weight::zero() + } } diff --git a/runtime/common/src/weights/pallet_smith_members.rs b/runtime/common/src/weights/pallet_smith_members.rs index f50a4a45e..1f9b79ab6 100644 --- a/runtime/common/src/weights/pallet_smith_members.rs +++ b/runtime/common/src/weights/pallet_smith_members.rs @@ -29,7 +29,7 @@ // --chain=dev // --steps=50 // --repeat=20 -// --pallet=* +// --pallet=pallet-smith-members // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 @@ -63,8 +63,8 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T> // Proof Size summary in bytes: // Measured: `765` // Estimated: `6705` - // Minimum execution time: 24_686_000 picoseconds. - Weight::from_parts(25_681_000, 0) + // Minimum execution time: 25_042_000 picoseconds. + Weight::from_parts(25_821_000, 0) .saturating_add(Weight::from_parts(0, 6705)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(2)) @@ -77,8 +77,8 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T> // Proof Size summary in bytes: // Measured: `496` // Estimated: `3961` - // Minimum execution time: 12_957_000 picoseconds. - Weight::from_parts(13_677_000, 0) + // Minimum execution time: 12_694_000 picoseconds. + Weight::from_parts(13_495_000, 0) .saturating_add(Weight::from_parts(0, 3961)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -97,10 +97,47 @@ impl<T: frame_system::Config> pallet_smith_members::WeightInfo for WeightInfo<T> // Proof Size summary in bytes: // Measured: `626` // Estimated: `6566` - // Minimum execution time: 23_890_000 picoseconds. - Weight::from_parts(24_849_000, 0) + // Minimum execution time: 23_095_000 picoseconds. + Weight::from_parts(24_363_000, 0) .saturating_add(Weight::from_parts(0, 6566)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } + /// Storage: `SmithMembers::Smiths` (r:3 w:3) + /// Proof: `SmithMembers::Smiths` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AuthorityMembers::Members` (r:1 w:1) + /// Proof: `AuthorityMembers::Members` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AuthorityMembers::OnlineAuthorities` (r:1 w:1) + /// Proof: `AuthorityMembers::OnlineAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AuthorityMembers::OutgoingAuthorities` (r:1 w:1) + /// Proof: `AuthorityMembers::OutgoingAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AuthorityMembers::IncomingAuthorities` (r:1 w:1) + /// Proof: `AuthorityMembers::IncomingAuthorities` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Session::NextKeys` (r:1 w:1) + /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `MaxEncodedLen`) + /// Storage: `Session::KeyOwner` (r:0 w:4) + /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn on_removed_wot_member() -> Weight { + // Proof Size summary in bytes: + // Measured: `911` + // Estimated: `9326` + // Minimum execution time: 49_566_000 picoseconds. + Weight::from_parts(52_187_000, 0) + .saturating_add(Weight::from_parts(0, 9326)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(13)) + } + /// Storage: `SmithMembers::Smiths` (r:1 w:0) + /// Proof: `SmithMembers::Smiths` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn on_removed_wot_member_empty() -> Weight { + // Proof Size summary in bytes: + // Measured: `187` + // Estimated: `3652` + // Minimum execution time: 2_864_000 picoseconds. + Weight::from_parts(3_005_000, 0) + .saturating_add(Weight::from_parts(0, 3652)) + .saturating_add(T::DbWeight::get().reads(1)) + } } -- GitLab