Skip to content
Snippets Groups Projects
Unverified Commit 652e457b authored by bgallois's avatar bgallois
Browse files

add hooks benchmark pallet_universal_dividend

parent 7b55b83f
No related branches found
No related tags found
No related merge requests found
......@@ -98,6 +98,22 @@ benchmarks! {
assert!(!Balances::<T>::free_balance(&caller).is_zero());
assert_eq!(Balances::<T>::free_balance(&recipient), transfer_amount);
}
on_removed_member {
let i in 0..T::MaxPastReeval::get();
let caller: T::AccountId = T::AccountIdOf::convert(1).unwrap();
CurrentUdIndex::<T>::put(2054u16);
T::MembersStorage::insert(&caller, FirstEligibleUd(Some(NonZeroU16::new(CurrentUdIndex::<T>::get() - i as u16).unwrap())))?;
let (_, uds_total) = compute_claim_uds::compute_claim_uds(
CurrentUdIndex::<T>::get(),
CurrentUdIndex::<T>::get() - i as u16,
PastReevals::<T>::get().into_iter(),
);
}: {Pallet::<T>::on_removed_member(CurrentUdIndex::<T>::get() - i as u16, &caller);}
verify {
if i != 0 {
assert_has_event::<T>(Event::<T>::UdsAutoPaidAtRemoval {count: i as u16, total: uds_total, who: caller}.into());
}
}
impl_benchmark_test_suite!(
Pallet,
......
......@@ -447,9 +447,9 @@ pub mod pallet {
total: uds_total,
who: who.clone(),
});
T::DbWeight::get().reads_writes(2, 1)
<T as pallet::Config>::WeightInfo::on_removed_member(first_ud_index as u32)
} else {
T::DbWeight::get().reads(1)
<T as pallet::Config>::WeightInfo::on_removed_member(0)
}
}
}
......
......@@ -23,6 +23,7 @@ pub trait WeightInfo {
fn claim_uds(i: u32) -> Weight;
fn transfer_ud() -> Weight;
fn transfer_ud_keep_alive() -> Weight;
fn on_removed_member(i: u32) -> Weight;
}
// Insecure weights implementation, use it for tests only!
......@@ -50,4 +51,11 @@ impl WeightInfo for () {
.saturating_add(RocksDbWeight::get().reads(2))
.saturating_add(RocksDbWeight::get().writes(2))
}
fn on_removed_member(i: u32) -> Weight {
Weight::from_parts(32_514_000, 0)
// Standard Error: 32_000
.saturating_add(Weight::from_parts(8_000, 0).saturating_mul(i as u64))
.saturating_add(RocksDbWeight::get().reads(4))
.saturating_add(RocksDbWeight::get().writes(1))
}
}
......@@ -50,8 +50,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
// Proof Size summary in bytes:
// Measured: `644`
// Estimated: `4109`
// Minimum execution time: 16_554_000 picoseconds.
Weight::from_parts(18_469_192, 0)
// Minimum execution time: 16_776_000 picoseconds.
Weight::from_parts(18_197_968, 0)
.saturating_add(Weight::from_parts(0, 4109))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
......@@ -66,8 +66,8 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
// Proof Size summary in bytes:
// Measured: `93`
// Estimated: `3591`
// Minimum execution time: 23_431_000 picoseconds.
Weight::from_parts(23_871_000, 0)
// Minimum execution time: 22_683_000 picoseconds.
Weight::from_parts(23_755_000, 0)
.saturating_add(Weight::from_parts(0, 3591))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
......@@ -82,10 +82,29 @@ impl<T: frame_system::Config> pallet_universal_dividend::WeightInfo for WeightIn
// Proof Size summary in bytes:
// Measured: `93`
// Estimated: `3591`
// Minimum execution time: 16_815_000 picoseconds.
Weight::from_parts(17_432_000, 0)
// Minimum execution time: 16_789_000 picoseconds.
Weight::from_parts(17_565_000, 0)
.saturating_add(Weight::from_parts(0, 3591))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(2))
}
/// Storage: UniversalDividend CurrentUdIndex (r:1 w:0)
/// Proof: UniversalDividend CurrentUdIndex (max_values: Some(1), max_size: Some(2), added: 497, mode: MaxEncodedLen)
/// Storage: UniversalDividend PastReevals (r:1 w:0)
/// Proof: UniversalDividend PastReevals (max_values: Some(1), max_size: Some(1602), added: 2097, mode: MaxEncodedLen)
/// Storage: System Account (r:1 w:1)
/// Proof: System Account (max_values: None, max_size: Some(126), added: 2601, mode: MaxEncodedLen)
/// The range of component `i` is `[0, 160]`.
fn on_removed_member(i: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `215`
// Estimated: `3591`
// Minimum execution time: 2_717_000 picoseconds.
Weight::from_parts(9_608_158, 0)
.saturating_add(Weight::from_parts(0, 3591))
// Standard Error: 975
.saturating_add(Weight::from_parts(4_370, 0).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment