#![cfg(feature = "runtime-benchmarks")]
use crate::*;
use frame_benchmarking::v2::*;
use frame_system::RawOrigin;
#[benchmarks]
mod benchmarks {
use super::*;
#[benchmark]
fn set_dummy_benchmark() {
let value = 1000u32.into();
#[extrinsic_call]
set_dummy(RawOrigin::Root, value);
assert_eq!(Dummy::<T>::get(), Some(value))
}
fn example_result_method() -> Result<(), BenchmarkError> {
Ok(())
}
#[benchmark]
fn accumulate_dummy() -> Result<(), BenchmarkError> {
let value = 1000u32.into();
let caller: T::AccountId = whitelisted_caller();
example_result_method()?;
#[extrinsic_call]
_(RawOrigin::Signed(caller), value);
Ok(())
}
fn setup_vector(len: u32) -> Vec<u32> {
let mut vector = Vec::<u32>::new();
for i in (0..len).rev() {
vector.push(i);
}
vector
}
#[benchmark]
fn sort_vector(x: Linear<0, 10_000>) {
let mut vector = setup_vector(x);
#[block]
{
vector.sort();
}
vector.windows(2).for_each(|w| assert!(w[0] <= w[1]));
}
impl_benchmark_test_suite!(Pallet, crate::tests::new_test_ext(), crate::tests::Test);
}