Skip to content
Snippets Groups Projects
Unverified Commit 91deee7a authored by gupnik's avatar gupnik Committed by GitHub
Browse files

Adds base benchmark for do_tick in broker pallet (#1235)


* Adds base benchmark for do_tick

* ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker

* Update substrate/frame/broker/src/benchmarking.rs

Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Update substrate/frame/broker/src/benchmarking.rs

* ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime=dev --target_dir=substrate --pallet=pallet_broker

* Addresses review comment

---------

Co-authored-by: command-bot <>
Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
parent a4794398
No related merge requests found
Pipeline #387780 passed with stages
in 53 minutes and 15 seconds
......@@ -852,6 +852,27 @@ mod benches {
}
}
#[benchmark]
fn do_tick_base() -> Result<(), BenchmarkError> {
setup_and_start_sale::<T>()?;
advance_to::<T>(5);
let mut status = Status::<T>::get().unwrap();
status.last_committed_timeslice = 3;
Status::<T>::put(&status);
#[block]
{
Broker::<T>::do_tick();
}
let updated_status = Status::<T>::get().unwrap();
assert_eq!(status, updated_status);
Ok(())
}
// Implements a test for each benchmark. Execute with:
// `cargo test -p pallet-broker --features runtime-benchmarks`.
impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test);
......
......@@ -36,13 +36,14 @@ impl<T: Config> Pallet<T> {
/// - Request revenue information for a previous timeslice
/// - Initialize an instantaneous core pool historical revenue record
pub(crate) fn do_tick() -> Weight {
let mut meter = WeightMeter::new();
meter.consume(T::WeightInfo::do_tick_base());
let (mut status, config) = match (Status::<T>::get(), Configuration::<T>::get()) {
(Some(s), Some(c)) => (s, c),
_ => return Weight::zero(),
_ => return meter.consumed(),
};
let mut meter = WeightMeter::new();
if Self::process_core_count(&mut status) {
meter.consume(T::WeightInfo::process_core_count(status.core_count.into()));
}
......
This diff is collapsed.
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment