difftreelog
fix(scheduler-v2) fix benchmarks
in: master
5 files changed
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -118,7 +118,7 @@
.PHONY: bench-scheduler
bench-scheduler:
- make _bench PALLET=unique-scheduler PALLET_DIR=scheduler
+ make _bench PALLET=unique-scheduler-v2 PALLET_DIR=scheduler-v2
.PHONY: bench-rmrk-core
bench-rmrk-core:
pallets/scheduler-v2/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/scheduler-v2/src/benchmarking.rs
+++ b/pallets/scheduler-v2/src/benchmarking.rs
@@ -51,7 +51,7 @@
const BLOCK_NUMBER: u32 = 2;
-type SystemOrigin<T> = <T as frame_system::Config>::Origin;
+type SystemOrigin<T> = <T as frame_system::Config>::RuntimeOrigin;
/// Add `n` items to the schedule.
///
@@ -70,7 +70,7 @@
Scheduler::<T>::do_schedule_named(name, t, period, 0, origin.clone(), call)?;
}
ensure!(
- Agenda::<T>::get(when).len() == n as usize,
+ Agenda::<T>::get(when).agenda.len() == n as usize,
"didn't fill schedule"
);
Ok(())
@@ -108,7 +108,7 @@
}
fn bounded<T: Config>(len: u32) -> Option<ScheduledCall<T>> {
- let call = <<T as Config>::Call>::from(SystemCall::remark {
+ let call = <<T as Config>::RuntimeCall>::from(SystemCall::remark {
remark: vec![0; len as usize],
});
ScheduledCall::new(call).ok()
@@ -197,18 +197,19 @@
//assert_eq!(result, Ok(()));
}
- // `service_task` when the task is a non-periodic, non-named, fetched call (with a known
- // preimage length) and which is not dispatched (e.g. due to being overweight).
- service_task_fetched {
- let s in (EncodedCall::bound() as u32) .. (<T::Preimages as PreimageRecipient<T::Hash>>::MaxSize::get());
- let now = BLOCK_NUMBER.into();
- let task = make_task::<T>(false, false, false, Some(s), 0);
- // prevent any tasks from actually being executed as we only want the surrounding weight.
- let mut counter = WeightCounter { used: Weight::zero(), limit: Weight::zero() };
- }: {
- let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
- } verify {
- }
+ // TODO uncomment if we will use the Preimages
+ // // `service_task` when the task is a non-periodic, non-named, fetched call (with a known
+ // // preimage length) and which is not dispatched (e.g. due to being overweight).
+ // service_task_fetched {
+ // let s in (EncodedCall::bound() as u32) .. (<T::Preimages as PreimageRecipient<T::Hash>>::MaxSize::get());
+ // let now = BLOCK_NUMBER.into();
+ // let task = make_task::<T>(false, false, false, Some(s), 0);
+ // // prevent any tasks from actually being executed as we only want the surrounding weight.
+ // let mut counter = WeightCounter { used: Weight::zero(), limit: Weight::zero() };
+ // }: {
+ // let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
+ // } verify {
+ // }
// `service_task` when the task is a non-periodic, named, non-fetched call which is not
// dispatched (e.g. due to being overweight).
@@ -268,7 +269,7 @@
}: _(RawOrigin::Root, when, periodic, priority, call)
verify {
ensure!(
- Agenda::<T>::get(when).len() == (s + 1) as usize,
+ Agenda::<T>::get(when).agenda.len() == (s + 1) as usize,
"didn't add to schedule"
);
}
@@ -278,7 +279,7 @@
let when = BLOCK_NUMBER.into();
fill_schedule::<T>(when, s)?;
- assert_eq!(Agenda::<T>::get(when).len(), s as usize);
+ assert_eq!(Agenda::<T>::get(when).agenda.len(), s as usize);
let schedule_origin = T::ScheduleOrigin::successful_origin();
}: _<SystemOrigin<T>>(schedule_origin, when, 0)
verify {
@@ -288,7 +289,7 @@
);
// Removed schedule is NONE
ensure!(
- Agenda::<T>::get(when)[0].is_none(),
+ Agenda::<T>::get(when).agenda[0].is_none(),
"didn't remove from schedule"
);
}
@@ -306,7 +307,7 @@
}: _(RawOrigin::Root, id, when, periodic, priority, call)
verify {
ensure!(
- Agenda::<T>::get(when).len() == (s + 1) as usize,
+ Agenda::<T>::get(when).agenda.len() == (s + 1) as usize,
"didn't add to schedule"
);
}
@@ -324,7 +325,7 @@
);
// Removed schedule is NONE
ensure!(
- Agenda::<T>::get(when)[0].is_none(),
+ Agenda::<T>::get(when).agenda[0].is_none(),
"didn't remove from schedule"
);
}
@@ -340,7 +341,7 @@
}: _(origin, id, priority)
verify {
ensure!(
- Agenda::<T>::get(when)[idx as usize].clone().unwrap().priority == priority,
+ Agenda::<T>::get(when).agenda[idx as usize].clone().unwrap().priority == priority,
"didn't change the priority"
);
}
pallets/scheduler-v2/src/lib.rsdiffbeforeafterboth--- a/pallets/scheduler-v2/src/lib.rs
+++ b/pallets/scheduler-v2/src/lib.rs
@@ -347,7 +347,11 @@
let base = Self::service_task_base();
let mut total = match maybe_lookup_len {
None => base,
- Some(l) => Self::service_task_fetched(l as u32),
+ Some(_l) => {
+ // TODO uncomment if we will use the Preimages
+ // Self::service_task_fetched(l as u32)
+ base
+ },
};
if named {
total.saturating_accrue(Self::service_task_named().saturating_sub(base));
runtime/common/construct_runtime/mod.rsdiffbeforeafterboth--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -57,8 +57,8 @@
Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,
Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,
- // #[runtimes(opal)]
- // Scheduler: pallet_unique_scheduler::{Pallet, Call, Storage, Event<T>} = 62,
+ #[runtimes(opal)]
+ Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,
Configuration: pallet_configuration::{Pallet, Call, Storage} = 63,
@@ -95,9 +95,6 @@
EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,
Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,
-
- #[runtimes(opal)]
- Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 154,
#[runtimes(opal)]
TestUtils: pallet_test_utils = 255,
runtime/common/runtime_apis.rsdiffbeforeafterboth683 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]683 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]684 list_benchmark!(list, extra, pallet_refungible, Refungible);684 list_benchmark!(list, extra, pallet_refungible, Refungible);685685686 // #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]686 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]687 // list_benchmark!(list, extra, pallet_unique_scheduler, Scheduler);687 list_benchmark!(list, extra, pallet_unique_scheduler_v2, Scheduler);688688689 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]689 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]690 list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);690 list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);743 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]743 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]744 add_benchmark!(params, batches, pallet_refungible, Refungible);744 add_benchmark!(params, batches, pallet_refungible, Refungible);745745746 // #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]746 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]747 // add_benchmark!(params, batches, pallet_unique_scheduler, Scheduler);747 add_benchmark!(params, batches, pallet_unique_scheduler_v2, Scheduler);748748749 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]749 #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]750 add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);750 add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);