diff --git a/pallets/distance/src/benchmarking.rs b/pallets/distance/src/benchmarking.rs index 0e888c8264c180d1ee4f494675ad8a853b4180b6..feef06bba42aa36cb8e313b634e473d5c2d0e5d0 100644 --- a/pallets/distance/src/benchmarking.rs +++ b/pallets/distance/src/benchmarking.rs @@ -20,6 +20,8 @@ use super::*; use codec::Encode; use frame_benchmarking::v2::*; +use frame_support::traits::Get; +use frame_support::traits::OnInitialize; use frame_support::traits::{Currency, OnFinalize}; use frame_system::pallet_prelude::BlockNumberFor; use frame_system::RawOrigin; @@ -164,6 +166,142 @@ mod benchmarks { assert_has_event::<T>(Event::<T>::EvaluatedValid { idty_index: idty }.into()); } + #[benchmark] + fn on_initialize_overhead() { + // Benchmark on_initialize with no on_finalize and no do_evaluation. + let block_number: BlockNumberFor<T> = (T::EvaluationPeriod::get() + 1).into(); + + #[block] + { + Pallet::<T>::on_initialize(block_number); + } + } + + #[benchmark] + fn do_evaluation_success() -> Result<(), BenchmarkError> { + // Benchmark do_evaluation in case of one success. + CurrentPoolIndex::<T>::put(0); + frame_system::pallet::Pallet::<T>::set_block_number(1u32.into()); + let idty = T::IdtyIndex::one(); + let caller: T::AccountId = pallet_identity::Identities::<T>::get(idty) + .unwrap() + .owner_key; + let _ = + <Balances<T> as Currency<_>>::make_free_balance_be(&caller, T::Balance::max_value()); + Pallet::<T>::request_distance_evaluation(RawOrigin::Signed(caller.clone()).into())?; + assert_has_event::<T>( + Event::<T>::EvaluationRequested { + idty_index: idty, + who: caller.clone(), + } + .into(), + ); + + CurrentPoolIndex::<T>::put(2); + Pallet::<T>::force_update_evaluation( + RawOrigin::Root.into(), + caller, + ComputationResult { + distances: vec![Perbill::one()], + }, + )?; + + #[block] + { + Pallet::<T>::do_evaluation(0); + } + + assert_has_event::<T>(Event::<T>::EvaluatedValid { idty_index: idty }.into()); + Ok(()) + } + + #[benchmark] + fn do_evaluation_echec() -> Result<(), BenchmarkError> { + // Benchmark do_evaluation in case of one echec. + CurrentPoolIndex::<T>::put(0); + frame_system::pallet::Pallet::<T>::set_block_number(1u32.into()); + let idty = T::IdtyIndex::one(); + let caller: T::AccountId = pallet_identity::Identities::<T>::get(idty) + .unwrap() + .owner_key; + let _ = + <Balances<T> as Currency<_>>::make_free_balance_be(&caller, T::Balance::max_value()); + Pallet::<T>::request_distance_evaluation(RawOrigin::Signed(caller.clone()).into())?; + assert_has_event::<T>( + Event::<T>::EvaluationRequested { + idty_index: idty, + who: caller.clone(), + } + .into(), + ); + + CurrentPoolIndex::<T>::put(2); + Pallet::<T>::force_update_evaluation( + RawOrigin::Root.into(), + caller, + ComputationResult { + distances: vec![Perbill::zero()], + }, + )?; + + #[block] + { + Pallet::<T>::do_evaluation(0); + } + + assert_has_event::<T>(Event::<T>::EvaluatedInvalid { idty_index: idty }.into()); + Ok(()) + } + + #[benchmark] + fn do_evaluation_overhead() -> Result<(), BenchmarkError> { + #[block] + { + Pallet::<T>::do_evaluation(0); + } + + Ok(()) + } + + #[benchmark] + fn on_initialize() -> Result<(), BenchmarkError> { + CurrentPoolIndex::<T>::put(0); // pool 2 + frame_system::pallet::Pallet::<T>::set_block_number(1u32.into()); + let idty = T::IdtyIndex::one(); + let caller: T::AccountId = pallet_identity::Identities::<T>::get(idty) + .unwrap() + .owner_key; + let _ = + <Balances<T> as Currency<_>>::make_free_balance_be(&caller, T::Balance::max_value()); + Pallet::<T>::request_distance_evaluation(RawOrigin::Signed(caller.clone()).into())?; + assert_has_event::<T>( + Event::<T>::EvaluationRequested { + idty_index: idty, + who: caller.clone(), + } + .into(), + ); + + CurrentPoolIndex::<T>::put(2); + Pallet::<T>::force_update_evaluation( + RawOrigin::Root.into(), + caller, + ComputationResult { + distances: vec![Perbill::one()], + }, + )?; + let block_number: BlockNumberFor<T> = (T::EvaluationPeriod::get()).into(); + CurrentPoolIndex::<T>::put(2); // pool 2 + + #[block] + { + Pallet::<T>::on_initialize(block_number); + } + + assert_has_event::<T>(Event::<T>::EvaluatedValid { idty_index: idty }.into()); + Ok(()) + } + #[benchmark] fn on_finalize() { DidUpdate::<T>::set(true); diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs index c39aa02ff0b6b0253c21b290fb631dfddc5f3942..03a56d8dc87eaed9fc624264df4c4bad4489850e 100644 --- a/pallets/distance/src/lib.rs +++ b/pallets/distance/src/lib.rs @@ -221,14 +221,17 @@ pub mod pallet { where BlockNumberFor<T>: From<u32>, { + let mut weight = <T as pallet::Config>::WeightInfo::on_initialize_overhead(); if block % BlockNumberFor::<T>::one().saturating_mul(T::EvaluationPeriod::get().into()) == BlockNumberFor::<T>::zero() { let index = (CurrentPoolIndex::<T>::get() + 1) % 3; CurrentPoolIndex::<T>::put(index); - Self::do_evaluation(index); + weight = weight + .saturating_add(Self::do_evaluation(index)) + .saturating_add(T::DbWeight::get().reads_writes(1, 1)); } - <T as pallet::Config>::WeightInfo::on_finalize() + weight.saturating_add(<T as pallet::Config>::WeightInfo::on_finalize()) } fn on_finalize(_n: BlockNumberFor<T>) { @@ -519,7 +522,8 @@ pub mod pallet { Self::deposit_event(Event::EvaluatedValid { idty_index: idty }); } - fn do_evaluation(index: u32) { + pub fn do_evaluation(index: u32) -> Weight { + let mut weight = <T as pallet::Config>::WeightInfo::do_evaluation_overhead(); // set evaluation block EvaluationBlock::<T>::set(frame_system::Pallet::<T>::parent_hash()); @@ -530,6 +534,7 @@ pub mod pallet { <T as frame_system::Config>::AccountId, <T as pallet_identity::Config>::IdtyIndex, > = Pallet::<T>::take_current_pool(index); + for (idty, median_acc) in current_pool.evaluations.into_iter() { // distance result let mut distance_result: Option<bool> = None; @@ -545,6 +550,7 @@ pub mod pallet { } // take requester and perform unreserve or slash + if let Some(requester) = PendingEvaluationRequest::<T>::take(idty) { match distance_result { None => { @@ -553,6 +559,12 @@ pub mod pallet { &requester, <T as Config>::EvaluationPrice::get(), ); + weight = weight.saturating_add( + <T as pallet::Config>::WeightInfo::do_evaluation_echec() + .saturating_sub( + <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), + ), + ); } Some(true) => { // positive result, unreserve and apply @@ -561,6 +573,12 @@ pub mod pallet { <T as Config>::EvaluationPrice::get(), ); Self::do_valid_distance_status(idty); + weight = weight.saturating_add( + <T as pallet::Config>::WeightInfo::do_evaluation_success() + .saturating_sub( + <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), + ), + ); } Some(false) => { // negative result, slash and deposit event @@ -569,11 +587,18 @@ pub mod pallet { <T as Config>::EvaluationPrice::get(), ); Self::deposit_event(Event::EvaluatedInvalid { idty_index: idty }); + weight = weight.saturating_add( + <T as pallet::Config>::WeightInfo::do_evaluation_echec() + .saturating_sub( + <T as pallet::Config>::WeightInfo::do_evaluation_overhead(), + ), + ); } } } // if evaluation happened without request, it's ok to do nothing } + weight } } diff --git a/pallets/distance/src/weights.rs b/pallets/distance/src/weights.rs index 0e8f34c45944c330c446ce4ac047c395f157702e..a7c65b749bbdadfc9afe2bbc3953c0882c5f0550 100644 --- a/pallets/distance/src/weights.rs +++ b/pallets/distance/src/weights.rs @@ -24,6 +24,10 @@ pub trait WeightInfo { fn update_evaluation(i: u32) -> Weight; fn force_update_evaluation(i: u32) -> Weight; fn force_valid_distance_status() -> Weight; + fn on_initialize_overhead() -> Weight; + fn do_evaluation_overhead() -> Weight; + fn do_evaluation_success() -> Weight; + fn do_evaluation_echec() -> Weight; fn on_finalize() -> Weight; } @@ -90,6 +94,53 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().writes(5)) } + fn do_evaluation_success() -> Weight { + // Proof Size summary in bytes: + // Measured: `612 + i * (10 ±0)` + // Estimated: `2095 + i * (10 ±0)` + // Minimum execution time: 208_812_000 picoseconds. + Weight::from_parts(257_150_521, 0) + .saturating_add(Weight::from_parts(0, 2095)) + // Standard Error: 53_366 + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + + fn do_evaluation_echec() -> Weight { + // Proof Size summary in bytes: + // Measured: `612 + i * (10 ±0)` + // Estimated: `2095 + i * (10 ±0)` + // Minimum execution time: 208_812_000 picoseconds. + Weight::from_parts(257_150_521, 0) + .saturating_add(Weight::from_parts(0, 2095)) + // Standard Error: 53_366 + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + + fn do_evaluation_overhead() -> Weight { + // Proof Size summary in bytes: + // Measured: `612 + i * (10 ±0)` + // Estimated: `2095 + i * (10 ±0)` + // Minimum execution time: 208_812_000 picoseconds. + Weight::from_parts(257_150_521, 0) + .saturating_add(Weight::from_parts(0, 2095)) + // Standard Error: 53_366 + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + + fn on_initialize_overhead() -> Weight { + // Proof Size summary in bytes: + // Measured: `170` + // Estimated: `1655` + // Minimum execution time: 93_595_000 picoseconds. + Weight::from_parts(109_467_000, 0) + .saturating_add(Weight::from_parts(0, 1655)) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + fn on_finalize() -> Weight { // Proof Size summary in bytes: // Measured: `170` diff --git a/runtime/common/src/weights/pallet_distance.rs b/runtime/common/src/weights/pallet_distance.rs index 2f288d8fcbb446f63bd00ad49cb549af0a08dd1b..5f2db5c04ca182f96084af5786a27150c5d4d977 100644 --- a/runtime/common/src/weights/pallet_distance.rs +++ b/runtime/common/src/weights/pallet_distance.rs @@ -17,7 +17,7 @@ //! Autogenerated weights for `pallet_distance` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-02-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2024-02-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F` //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: 1024 @@ -29,7 +29,7 @@ // --chain=dev // --steps=50 // --repeat=20 -// --pallet=* +// --pallet=pallet-distance // --extrinsic=* // --wasm-execution=compiled // --heap-pages=4096 @@ -59,19 +59,19 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> { /// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0) /// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::CurrentIndex` (r:1 w:0) - /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::CurrentPoolIndex` (r:1 w:0) + /// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Distance::EvaluationPool2` (r:1 w:1) /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `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`) fn request_distance_evaluation() -> Weight { // Proof Size summary in bytes: - // Measured: `1596` - // Estimated: `5061` - // Minimum execution time: 39_987_000 picoseconds. - Weight::from_parts(41_680_000, 0) - .saturating_add(Weight::from_parts(0, 5061)) + // Measured: `1119` + // Estimated: `4584` + // Minimum execution time: 40_278_000 picoseconds. + Weight::from_parts(41_411_000, 0) + .saturating_add(Weight::from_parts(0, 4584)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -87,19 +87,19 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> { /// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Certification::StorageIdtyCertMeta` (r:1 w:0) /// Proof: `Certification::StorageIdtyCertMeta` (`max_values`: None, `max_size`: None, mode: `Measured`) - /// Storage: `Session::CurrentIndex` (r:1 w:0) - /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::CurrentPoolIndex` (r:1 w:0) + /// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Distance::EvaluationPool2` (r:1 w:1) /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `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`) fn request_distance_evaluation_for() -> Weight { // Proof Size summary in bytes: - // Measured: `1625` - // Estimated: `7565` - // Minimum execution time: 43_537_000 picoseconds. - Weight::from_parts(45_197_000, 0) - .saturating_add(Weight::from_parts(0, 7565)) + // Measured: `1148` + // Estimated: `7088` + // Minimum execution time: 42_131_000 picoseconds. + Weight::from_parts(43_903_000, 0) + .saturating_add(Weight::from_parts(0, 7088)) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -111,38 +111,38 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> { /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Session::Validators` (r:1 w:0) /// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) - /// Storage: `Session::CurrentIndex` (r:1 w:0) - /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::CurrentPoolIndex` (r:1 w:0) + /// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Distance::EvaluationPool0` (r:1 w:1) /// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// The range of component `i` is `[1, 600]`. fn update_evaluation(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `773 + i * (10 ±0)` - // Estimated: `2257 + i * (10 ±0)` - // Minimum execution time: 13_230_000 picoseconds. - Weight::from_parts(15_236_858, 0) - .saturating_add(Weight::from_parts(0, 2257)) - // Standard Error: 498 - .saturating_add(Weight::from_parts(102_078, 0).saturating_mul(i.into())) + // Measured: `402 + i * (10 ±0)` + // Estimated: `1886 + i * (10 ±0)` + // Minimum execution time: 12_079_000 picoseconds. + Weight::from_parts(14_113_350, 0) + .saturating_add(Weight::from_parts(0, 1886)) + // Standard Error: 368 + .saturating_add(Weight::from_parts(101_595, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into())) } - /// Storage: `Session::CurrentIndex` (r:1 w:0) - /// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::CurrentPoolIndex` (r:1 w:0) + /// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Distance::EvaluationPool0` (r:1 w:1) /// Proof: `Distance::EvaluationPool0` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// The range of component `i` is `[1, 600]`. fn force_update_evaluation(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `612 + i * (10 ±0)` - // Estimated: `2096 + i * (10 ±0)` - // Minimum execution time: 6_222_000 picoseconds. - Weight::from_parts(8_798_404, 0) - .saturating_add(Weight::from_parts(0, 2096)) - // Standard Error: 525 - .saturating_add(Weight::from_parts(101_030, 0).saturating_mul(i.into())) + // Measured: `139 + i * (10 ±0)` + // Estimated: `1623 + i * (10 ±0)` + // Minimum execution time: 5_304_000 picoseconds. + Weight::from_parts(6_358_633, 0) + .saturating_add(Weight::from_parts(0, 1623)) + // Standard Error: 1_291 + .saturating_add(Weight::from_parts(109_183, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(i.into())) @@ -159,21 +159,123 @@ impl<T: frame_system::Config> pallet_distance::WeightInfo for WeightInfo<T> { // Proof Size summary in bytes: // Measured: `609` // Estimated: `6549` - // Minimum execution time: 24_153_000 picoseconds. - Weight::from_parts(24_962_000, 0) + // Minimum execution time: 24_868_000 picoseconds. + Weight::from_parts(26_575_000, 0) .saturating_add(Weight::from_parts(0, 6549)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) } + fn on_initialize_overhead() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 130_000 picoseconds. + Weight::from_parts(158_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Distance::EvaluationPool2` (r:1 w:1) + /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1) + /// Proof: `Distance::PendingEvaluationRequest` (`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: `Identity::Identities` (r:1 w:0) + /// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Membership::Membership` (r:1 w:1) + /// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Membership::MembershipsExpireOn` (r:2 w:2) + /// Proof: `Membership::MembershipsExpireOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Parameters::ParametersStorage` (r:1 w:0) + /// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::EvaluationBlock` (r:0 w:1) + /// Proof: `Distance::EvaluationBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn do_evaluation_success() -> Weight { + // Proof Size summary in bytes: + // Measured: `973` + // Estimated: `6913` + // Minimum execution time: 42_195_000 picoseconds. + Weight::from_parts(43_925_000, 0) + .saturating_add(Weight::from_parts(0, 6913)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(7)) + } + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Distance::EvaluationPool2` (r:1 w:1) + /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1) + /// Proof: `Distance::PendingEvaluationRequest` (`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: `Distance::EvaluationBlock` (r:0 w:1) + /// Proof: `Distance::EvaluationBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn do_evaluation_echec() -> Weight { + // Proof Size summary in bytes: + // Measured: `364` + // Estimated: `3829` + // Minimum execution time: 21_868_000 picoseconds. + Weight::from_parts(22_858_000, 0) + .saturating_add(Weight::from_parts(0, 3829)) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Distance::EvaluationPool2` (r:1 w:0) + /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::EvaluationBlock` (r:0 w:1) + /// Proof: `Distance::EvaluationBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn do_evaluation_overhead() -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 2_484_000 picoseconds. + Weight::from_parts(2_740_000, 0) + .saturating_add(Weight::from_parts(0, 1594)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Distance::CurrentPoolIndex` (r:1 w:1) + /// Proof: `Distance::CurrentPoolIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::ParentHash` (r:1 w:0) + /// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + /// Storage: `Distance::EvaluationPool2` (r:1 w:1) + /// Proof: `Distance::EvaluationPool2` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::PendingEvaluationRequest` (r:1 w:1) + /// Proof: `Distance::PendingEvaluationRequest` (`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: `Identity::Identities` (r:1 w:0) + /// Proof: `Identity::Identities` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Membership::Membership` (r:1 w:1) + /// Proof: `Membership::Membership` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Membership::MembershipsExpireOn` (r:2 w:2) + /// Proof: `Membership::MembershipsExpireOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Parameters::ParametersStorage` (r:1 w:0) + /// Proof: `Parameters::ParametersStorage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Distance::EvaluationBlock` (r:0 w:1) + /// Proof: `Distance::EvaluationBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn on_initialize() -> Weight { + // Proof Size summary in bytes: + // Measured: `973` + // Estimated: `6913` + // Minimum execution time: 43_225_000 picoseconds. + Weight::from_parts(44_204_000, 0) + .saturating_add(Weight::from_parts(0, 6913)) + .saturating_add(T::DbWeight::get().reads(10)) + .saturating_add(T::DbWeight::get().writes(8)) + } /// Storage: `Distance::DidUpdate` (r:1 w:1) /// Proof: `Distance::DidUpdate` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn on_finalize() -> Weight { // Proof Size summary in bytes: - // Measured: `170` - // Estimated: `1655` - // Minimum execution time: 2_716_000 picoseconds. - Weight::from_parts(2_884_000, 0) - .saturating_add(Weight::from_parts(0, 1655)) + // Measured: `133` + // Estimated: `1618` + // Minimum execution time: 2_312_000 picoseconds. + Weight::from_parts(2_562_000, 0) + .saturating_add(Weight::from_parts(0, 1618)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) }