mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 01:41:03 +00:00
Add pruning to bechmarks & update weights. (#918)
* Insert headers in benchmarks. * Fix benchmarks. * Lower number of headers. * Avoid hardcoding numbers. * Update weights. * cargo fmt --all * Remove todo. * Fix test. * Address review comments. * Fix borrowed value.
This commit is contained in:
committed by
Bastian Köcher
parent
fd44cab992
commit
479e51c67b
@@ -51,9 +51,10 @@ use bp_test_utils::{
|
||||
TEST_GRANDPA_ROUND, TEST_GRANDPA_SET_ID,
|
||||
};
|
||||
use frame_benchmarking::{benchmarks_instance_pallet, whitelisted_caller};
|
||||
use frame_support::traits::Get;
|
||||
use frame_system::RawOrigin;
|
||||
use sp_finality_grandpa::AuthorityId;
|
||||
use sp_runtime::traits::{One, Zero};
|
||||
use sp_runtime::traits::Zero;
|
||||
use sp_std::{vec, vec::Vec};
|
||||
|
||||
// The maximum number of vote ancestries to include in a justification.
|
||||
@@ -66,6 +67,14 @@ const MAX_VOTE_ANCESTRIES: u32 = 1000;
|
||||
// number of validators.
|
||||
const MAX_VALIDATOR_SET_SIZE: u32 = 1024;
|
||||
|
||||
/// Returns number of first header to be imported.
|
||||
///
|
||||
/// Since we boostrap the pallet with `HeadersToKeep` already imported headers,
|
||||
/// this function computes the next expected header number to import.
|
||||
fn header_number<T: Config<I>, I: 'static, N: From<u32>>() -> N {
|
||||
(T::HeadersToKeep::get() + 1).into()
|
||||
}
|
||||
|
||||
benchmarks_instance_pallet! {
|
||||
// This is the "gold standard" benchmark for this extrinsic, and it's what should be used to
|
||||
// annotate the weight in the pallet.
|
||||
@@ -90,9 +99,9 @@ benchmarks_instance_pallet! {
|
||||
is_halted: false,
|
||||
};
|
||||
|
||||
initialize_bridge::<T, I>(init_data);
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
bootstrap_bridge::<T, I>(init_data);
|
||||
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
let params = JustificationGeneratorParams {
|
||||
header: header.clone(),
|
||||
round: TEST_GRANDPA_ROUND,
|
||||
@@ -106,7 +115,7 @@ benchmarks_instance_pallet! {
|
||||
|
||||
}: _(RawOrigin::Signed(caller), header, justification)
|
||||
verify {
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
let expected_hash = header.hash();
|
||||
|
||||
assert_eq!(<BestFinalized<T, I>>::get(), expected_hash);
|
||||
@@ -127,8 +136,8 @@ benchmarks_instance_pallet! {
|
||||
is_halted: false,
|
||||
};
|
||||
|
||||
initialize_bridge::<T, I>(init_data);
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
bootstrap_bridge::<T, I>(init_data);
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
|
||||
let params = JustificationGeneratorParams {
|
||||
header: header.clone(),
|
||||
@@ -143,7 +152,7 @@ benchmarks_instance_pallet! {
|
||||
|
||||
}: submit_finality_proof(RawOrigin::Signed(caller), header, justification)
|
||||
verify {
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
let expected_hash = header.hash();
|
||||
|
||||
assert_eq!(<BestFinalized<T, I>>::get(), expected_hash);
|
||||
@@ -170,8 +179,8 @@ benchmarks_instance_pallet! {
|
||||
is_halted: false,
|
||||
};
|
||||
|
||||
initialize_bridge::<T, I>(init_data);
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
bootstrap_bridge::<T, I>(init_data);
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
|
||||
let params = JustificationGeneratorParams {
|
||||
header: header.clone(),
|
||||
@@ -186,7 +195,7 @@ benchmarks_instance_pallet! {
|
||||
|
||||
}: submit_finality_proof(RawOrigin::Signed(caller), header, justification)
|
||||
verify {
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(One::one());
|
||||
let header: BridgedHeader<T, I> = bp_test_utils::test_header(header_number::<T, I, _>());
|
||||
let expected_hash = header.hash();
|
||||
|
||||
assert_eq!(<BestFinalized<T, I>>::get(), expected_hash);
|
||||
|
||||
Reference in New Issue
Block a user