Skip to content

Commit d1cb5d1

Browse files
authored
fix parachains benchmarks (#1717)
1 parent 84bdf86 commit d1cb5d1

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

bin/millau/runtime/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,6 +1066,11 @@ impl_runtime_apis! {
10661066
}
10671067

10681068
impl ParachainsConfig<WithRialtoParachainsInstance> for Runtime {
1069+
fn parachains() -> Vec<bp_polkadot_core::parachains::ParaId> {
1070+
use bp_runtime::Parachain;
1071+
vec![bp_polkadot_core::parachains::ParaId(bp_rialto_parachain::RialtoParachain::PARACHAIN_ID)]
1072+
}
1073+
10691074
fn prepare_parachain_heads_proof(
10701075
parachains: &[bp_polkadot_core::parachains::ParaId],
10711076
parachain_head_size: u32,

modules/parachains/src/benchmarking.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ pub struct Pallet<T: Config<I>, I: 'static>(crate::Pallet<T, I>);
3232

3333
/// Trait that must be implemented by runtime to benchmark the parachains finality pallet.
3434
pub trait Config<I: 'static>: crate::Config<I> {
35+
/// Returns vector of supported parachains.
36+
fn parachains() -> Vec<ParaId>;
3537
/// Generate parachain heads proof and prepare environment for verifying this proof.
3638
fn prepare_parachain_heads_proof(
3739
parachains: &[ParaId],
@@ -53,10 +55,11 @@ benchmarks_instance_pallet! {
5355

5456
// Benchmark `submit_parachain_heads` extrinsic with different number of parachains.
5557
submit_parachain_heads_with_n_parachains {
56-
let p in 1..1024;
58+
let p in 1..(T::parachains().len() + 1) as u32;
5759

5860
let sender = account("sender", 0, 0);
59-
let parachains = (1..=p).map(ParaId).collect::<Vec<_>>();
61+
let mut parachains = T::parachains();
62+
let _ = parachains.split_off(p as usize - 1);
6063
let (relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T::prepare_parachain_heads_proof(
6164
&parachains,
6265
DEFAULT_PARACHAIN_HEAD_SIZE,
@@ -73,7 +76,7 @@ benchmarks_instance_pallet! {
7376
// Benchmark `submit_parachain_heads` extrinsic with 1kb proof size.
7477
submit_parachain_heads_with_1kb_proof {
7578
let sender = account("sender", 0, 0);
76-
let parachains = vec![ParaId(1)];
79+
let parachains = vec![T::parachains()[0]];
7780
let (relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T::prepare_parachain_heads_proof(
7881
&parachains,
7982
DEFAULT_PARACHAIN_HEAD_SIZE,
@@ -90,7 +93,7 @@ benchmarks_instance_pallet! {
9093
// Benchmark `submit_parachain_heads` extrinsic with 16kb proof size.
9194
submit_parachain_heads_with_16kb_proof {
9295
let sender = account("sender", 0, 0);
93-
let parachains = vec![ParaId(1)];
96+
let parachains = vec![T::parachains()[0]];
9497
let (relay_block_number, relay_block_hash, parachain_heads_proof, parachains_heads) = T::prepare_parachain_heads_proof(
9598
&parachains,
9699
DEFAULT_PARACHAIN_HEAD_SIZE,

0 commit comments

Comments
 (0)