Fix and update benchmarks (#1494)

* decrease parameters range in grandpa benchmarks

* fix messages benchmarks

* update all weights

* dealing with failed test (WiP)

* Revert "dealing with failed test (WiP)"

This reverts commit 0379d24bcf0692da5813968d83e0cbc918ac4691.

* proper tests fix
This commit is contained in:
Svyatoslav Nikolsky
2022-07-07 11:29:30 +03:00
committed by Bastian Köcher
parent f89eeb920a
commit 00f1225b19
7 changed files with 166 additions and 162 deletions
+12 -2
View File
@@ -63,6 +63,16 @@ const MAX_VOTE_ANCESTRIES: u32 = 1000;
// number of validators. // number of validators.
const MAX_VALIDATOR_SET_SIZE: u32 = 1024; const MAX_VALIDATOR_SET_SIZE: u32 = 1024;
// `1..MAX_VALIDATOR_SET_SIZE` and `1..MAX_VOTE_ANCESTRIES` are too large && benchmarks are
// running for almost 40m (steps=50, repeat=20) on a decent laptop, which is too much. Since
// we're building linear function here, let's just select some limited subrange for benchmarking.
const VALIDATOR_SET_SIZE_RANGE_BEGIN: u32 = MAX_VALIDATOR_SET_SIZE / 20;
const VALIDATOR_SET_SIZE_RANGE_END: u32 =
VALIDATOR_SET_SIZE_RANGE_BEGIN + VALIDATOR_SET_SIZE_RANGE_BEGIN;
const MAX_VOTE_ANCESTRIES_RANGE_BEGIN: u32 = MAX_VOTE_ANCESTRIES / 20;
const MAX_VOTE_ANCESTRIES_RANGE_END: u32 =
MAX_VOTE_ANCESTRIES_RANGE_BEGIN + MAX_VOTE_ANCESTRIES_RANGE_BEGIN;
/// Returns number of first header to be imported. /// Returns number of first header to be imported.
/// ///
/// Since we bootstrap the pallet with `HeadersToKeep` already imported headers, /// Since we bootstrap the pallet with `HeadersToKeep` already imported headers,
@@ -107,8 +117,8 @@ benchmarks_instance_pallet! {
// This is the "gold standard" benchmark for this extrinsic, and it's what should be used to // This is the "gold standard" benchmark for this extrinsic, and it's what should be used to
// annotate the weight in the pallet. // annotate the weight in the pallet.
submit_finality_proof { submit_finality_proof {
let p in 1..MAX_VALIDATOR_SET_SIZE; let p in VALIDATOR_SET_SIZE_RANGE_BEGIN..VALIDATOR_SET_SIZE_RANGE_END;
let v in 1..MAX_VOTE_ANCESTRIES; let v in MAX_VOTE_ANCESTRIES_RANGE_BEGIN..MAX_VOTE_ANCESTRIES_RANGE_END;
let caller: T::AccountId = whitelisted_caller(); let caller: T::AccountId = whitelisted_caller();
let (header, justification) = prepare_benchmark_data::<T, I>(p, v); let (header, justification) = prepare_benchmark_data::<T, I>(p, v);
}: submit_finality_proof(RawOrigin::Signed(caller), Box::new(header), justification) }: submit_finality_proof(RawOrigin::Signed(caller), Box::new(header), justification)
+9 -8
View File
@@ -17,14 +17,15 @@
//! Autogenerated weights for `pallet_bridge_grandpa` //! Autogenerated weights for `pallet_bridge_grandpa`
//! //!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2021-12-28, STEPS: 50, REPEAT: 20 //! DATE: 2022-07-06, STEPS: 50, REPEAT: 20
//! LOW RANGE: [], HIGH RANGE: [] //! LOW RANGE: [], HIGH RANGE: []
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled
//! CHAIN: Some("dev"), DB CACHE: 128 //! CHAIN: Some("dev"), DB CACHE: 1024
// Executed Command: // Executed Command:
// target/release/millau-bridge-node // target/release/millau-bridge-node
// benchmark // benchmark
// pallet
// --chain=dev // --chain=dev
// --steps=50 // --steps=50
// --repeat=20 // --repeat=20
@@ -55,9 +56,9 @@ pub trait WeightInfo {
pub struct MillauWeight<T>(PhantomData<T>); pub struct MillauWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for MillauWeight<T> { impl<T: frame_system::Config> WeightInfo for MillauWeight<T> {
fn submit_finality_proof(p: u32, v: u32) -> Weight { fn submit_finality_proof(p: u32, v: u32) -> Weight {
(115_651_000 as Weight) (55_070_000 as Weight)
.saturating_add((61_465_000 as Weight).saturating_mul(p as Weight)) .saturating_add((39_678_000 as Weight).saturating_mul(p as Weight))
.saturating_add((3_438_000 as Weight).saturating_mul(v as Weight)) .saturating_add((1_540_000 as Weight).saturating_mul(v as Weight))
.saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads(7 as Weight))
.saturating_add(T::DbWeight::get().writes(6 as Weight)) .saturating_add(T::DbWeight::get().writes(6 as Weight))
} }
@@ -66,9 +67,9 @@ impl<T: frame_system::Config> WeightInfo for MillauWeight<T> {
// For backwards compatibility and tests // For backwards compatibility and tests
impl WeightInfo for () { impl WeightInfo for () {
fn submit_finality_proof(p: u32, v: u32) -> Weight { fn submit_finality_proof(p: u32, v: u32) -> Weight {
(115_651_000 as Weight) (55_070_000 as Weight)
.saturating_add((61_465_000 as Weight).saturating_mul(p as Weight)) .saturating_add((39_678_000 as Weight).saturating_mul(p as Weight))
.saturating_add((3_438_000 as Weight).saturating_mul(v as Weight)) .saturating_add((1_540_000 as Weight).saturating_mul(v as Weight))
.saturating_add(RocksDbWeight::get().reads(7 as Weight)) .saturating_add(RocksDbWeight::get().reads(7 as Weight))
.saturating_add(RocksDbWeight::get().writes(6 as Weight)) .saturating_add(RocksDbWeight::get().writes(6 as Weight))
} }
+14 -24
View File
@@ -19,12 +19,13 @@
use crate::{ use crate::{
inbound_lane::InboundLaneStorage, inbound_lane_storage, outbound_lane, inbound_lane::InboundLaneStorage, inbound_lane_storage, outbound_lane,
outbound_lane::ReceivalConfirmationResult, weights_ext::EXPECTED_DEFAULT_MESSAGE_LENGTH, Call, outbound_lane::ReceivalConfirmationResult, weights_ext::EXPECTED_DEFAULT_MESSAGE_LENGTH, Call,
OutboundLanes, OutboundMessages,
}; };
use bp_messages::{ use bp_messages::{
source_chain::TargetHeaderChain, target_chain::SourceHeaderChain, DeliveredMessages, source_chain::TargetHeaderChain, target_chain::SourceHeaderChain, DeliveredMessages,
InboundLaneData, LaneId, MessageData, MessageNonce, OutboundLaneData, UnrewardedRelayer, InboundLaneData, LaneId, MessageData, MessageKey, MessageNonce, OutboundLaneData,
UnrewardedRelayersState, UnrewardedRelayer, UnrewardedRelayersState,
}; };
use bp_runtime::{messages::DispatchFeePayment, StorageProofSize}; use bp_runtime::{messages::DispatchFeePayment, StorageProofSize};
use frame_benchmarking::{account, benchmarks_instance_pallet}; use frame_benchmarking::{account, benchmarks_instance_pallet};
@@ -244,7 +245,10 @@ benchmarks_instance_pallet! {
send_regular_message_with_payload::<T, I>(vec![42u8; T::maximal_message_size() as _]); send_regular_message_with_payload::<T, I>(vec![42u8; T::maximal_message_size() as _]);
}: increase_message_fee(RawOrigin::Signed(sender.clone()), lane_id, nonce, additional_fee) }: increase_message_fee(RawOrigin::Signed(sender.clone()), lane_id, nonce, additional_fee)
verify { verify {
assert_eq!(T::account_balance(&sender), 0.into()); assert_eq!(
OutboundMessages::<T, I>::get(MessageKey { lane_id: T::bench_lane_id(), nonce }).unwrap().fee,
T::message_fee() + additional_fee,
);
} }
// Benchmark `increase_message_fee` with following conditions: // Benchmark `increase_message_fee` with following conditions:
@@ -265,7 +269,10 @@ benchmarks_instance_pallet! {
send_regular_message_with_payload::<T, I>(vec![42u8; i as _]); send_regular_message_with_payload::<T, I>(vec![42u8; i as _]);
}: increase_message_fee(RawOrigin::Signed(sender.clone()), lane_id, nonce, additional_fee) }: increase_message_fee(RawOrigin::Signed(sender.clone()), lane_id, nonce, additional_fee)
verify { verify {
assert_eq!(T::account_balance(&sender), 0.into()); assert_eq!(
OutboundMessages::<T, I>::get(MessageKey { lane_id: T::bench_lane_id(), nonce }).unwrap().fee,
T::message_fee() + additional_fee,
);
} }
// Benchmark `receive_messages_proof` extrinsic with single minimal-weight message and following conditions: // Benchmark `receive_messages_proof` extrinsic with single minimal-weight message and following conditions:
@@ -508,10 +515,7 @@ benchmarks_instance_pallet! {
}); });
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state) }: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state)
verify { verify {
assert_eq!( assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 1);
T::account_balance(&relayer_id),
relayer_balance + T::message_fee(),
);
} }
// Benchmark `receive_messages_delivery_proof` extrinsic with following conditions: // Benchmark `receive_messages_delivery_proof` extrinsic with following conditions:
@@ -552,7 +556,7 @@ benchmarks_instance_pallet! {
}); });
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state) }: receive_messages_delivery_proof(RawOrigin::Signed(relayer_id.clone()), proof, relayers_state)
verify { verify {
ensure_relayer_rewarded::<T, I>(&relayer_id, &relayer_balance); assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 2);
} }
// Benchmark `receive_messages_delivery_proof` extrinsic with following conditions: // Benchmark `receive_messages_delivery_proof` extrinsic with following conditions:
@@ -599,8 +603,7 @@ benchmarks_instance_pallet! {
}); });
}: receive_messages_delivery_proof(RawOrigin::Signed(relayer1_id.clone()), proof, relayers_state) }: receive_messages_delivery_proof(RawOrigin::Signed(relayer1_id.clone()), proof, relayers_state)
verify { verify {
ensure_relayer_rewarded::<T, I>(&relayer1_id, &relayer1_balance); assert_eq!(OutboundLanes::<T, I>::get(T::bench_lane_id()).latest_received_nonce, 2);
ensure_relayer_rewarded::<T, I>(&relayer2_id, &relayer2_balance);
} }
} }
@@ -642,16 +645,3 @@ fn receive_messages<T: Config<I>, I: 'static>(nonce: MessageNonce) {
last_confirmed_nonce: 0, last_confirmed_nonce: 0,
}); });
} }
fn ensure_relayer_rewarded<T: Config<I>, I: 'static>(
relayer_id: &T::AccountId,
old_balance: &T::OutboundMessageFee,
) {
let new_balance = T::account_balance(relayer_id);
assert!(
new_balance > *old_balance,
"Relayer haven't received reward for relaying message: old balance = {:?}, new balance = {:?}",
old_balance,
new_balance,
);
}
+113 -112
View File
@@ -17,14 +17,15 @@
//! Autogenerated weights for `pallet_bridge_messages` //! Autogenerated weights for `pallet_bridge_messages`
//! //!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2021-12-28, STEPS: 50, REPEAT: 20 //! DATE: 2022-07-07, STEPS: 50, REPEAT: 20
//! LOW RANGE: [], HIGH RANGE: [] //! LOW RANGE: [], HIGH RANGE: []
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled
//! CHAIN: Some("dev"), DB CACHE: 128 //! CHAIN: Some("dev"), DB CACHE: 1024
// Executed Command: // Executed Command:
// target/release/millau-bridge-node // target/release/millau-bridge-node
// benchmark // benchmark
// pallet
// --chain=dev // --chain=dev
// --steps=50 // --steps=50
// --repeat=20 // --repeat=20
@@ -68,149 +69,149 @@ pub trait WeightInfo {
pub struct MillauWeight<T>(PhantomData<T>); pub struct MillauWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for MillauWeight<T> { impl<T: frame_system::Config> WeightInfo for MillauWeight<T> {
fn send_minimal_message_worst_case() -> Weight { fn send_minimal_message_worst_case() -> Weight {
(117_480_000 as Weight) (37_948_000 as Weight)
.saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight)) .saturating_add(T::DbWeight::get().writes(10 as Weight))
} }
fn send_1_kb_message_worst_case() -> Weight { fn send_1_kb_message_worst_case() -> Weight {
(128_391_000 as Weight) (39_158_000 as Weight)
.saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight)) .saturating_add(T::DbWeight::get().writes(10 as Weight))
} }
fn send_16_kb_message_worst_case() -> Weight { fn send_16_kb_message_worst_case() -> Weight {
(149_149_000 as Weight) (48_698_000 as Weight)
.saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(12 as Weight)) .saturating_add(T::DbWeight::get().writes(10 as Weight))
} }
fn maximal_increase_message_fee() -> Weight { fn maximal_increase_message_fee() -> Weight {
(6_015_058_000 as Weight) (2_919_864_000 as Weight)
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn increase_message_fee(i: u32) -> Weight {
(0 as Weight)
.saturating_add((2_000 as Weight).saturating_mul(i as Weight))
.saturating_add(T::DbWeight::get().reads(5 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof() -> Weight {
(179_892_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_two_messages_proof() -> Weight {
(291_793_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
(192_191_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_1_kb() -> Weight {
(202_104_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_16_kb() -> Weight {
(357_144_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight))
}
fn receive_single_prepaid_message_proof() -> Weight {
(122_648_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn increase_message_fee(i: u32) -> Weight {
(0 as Weight)
.saturating_add((1_000 as Weight).saturating_mul(i as Weight))
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
fn receive_single_message_proof() -> Weight {
(25_992_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
fn receive_two_messages_proof() -> Weight {
(37_016_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
(31_589_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
fn receive_single_message_proof_1_kb() -> Weight {
(25_962_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
fn receive_single_message_proof_16_kb() -> Weight {
(74_385_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(1 as Weight))
}
fn receive_single_prepaid_message_proof() -> Weight {
(26_159_000 as Weight)
.saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(2 as Weight))
}
fn receive_delivery_proof_for_single_message() -> Weight { fn receive_delivery_proof_for_single_message() -> Weight {
(107_631_000 as Weight) (27_590_000 as Weight)
.saturating_add(T::DbWeight::get().reads(6 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight { fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
(113_885_000 as Weight) (27_354_000 as Weight)
.saturating_add(T::DbWeight::get().reads(7 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight { fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
(155_151_000 as Weight) (27_652_000 as Weight)
.saturating_add(T::DbWeight::get().reads(8 as Weight)) .saturating_add(T::DbWeight::get().reads(3 as Weight))
.saturating_add(T::DbWeight::get().writes(4 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight))
} }
} }
// For backwards compatibility and tests // For backwards compatibility and tests
impl WeightInfo for () { impl WeightInfo for () {
fn send_minimal_message_worst_case() -> Weight { fn send_minimal_message_worst_case() -> Weight {
(117_480_000 as Weight) (37_948_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(7 as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight)) .saturating_add(RocksDbWeight::get().writes(10 as Weight))
} }
fn send_1_kb_message_worst_case() -> Weight { fn send_1_kb_message_worst_case() -> Weight {
(128_391_000 as Weight) (39_158_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(7 as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight)) .saturating_add(RocksDbWeight::get().writes(10 as Weight))
} }
fn send_16_kb_message_worst_case() -> Weight { fn send_16_kb_message_worst_case() -> Weight {
(149_149_000 as Weight) (48_698_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(7 as Weight)) .saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(12 as Weight)) .saturating_add(RocksDbWeight::get().writes(10 as Weight))
} }
fn maximal_increase_message_fee() -> Weight { fn maximal_increase_message_fee() -> Weight {
(6_015_058_000 as Weight) (2_919_864_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn increase_message_fee(i: u32) -> Weight {
(0 as Weight)
.saturating_add((2_000 as Weight).saturating_mul(i as Weight))
.saturating_add(RocksDbWeight::get().reads(5 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof() -> Weight {
(179_892_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_two_messages_proof() -> Weight {
(291_793_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
(192_191_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_1_kb() -> Weight {
(202_104_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_single_message_proof_16_kb() -> Weight {
(357_144_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight))
}
fn receive_single_prepaid_message_proof() -> Weight {
(122_648_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight))
} }
fn increase_message_fee(i: u32) -> Weight {
(0 as Weight)
.saturating_add((1_000 as Weight).saturating_mul(i as Weight))
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
fn receive_single_message_proof() -> Weight {
(25_992_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
fn receive_two_messages_proof() -> Weight {
(37_016_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
fn receive_single_message_proof_with_outbound_lane_state() -> Weight {
(31_589_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
fn receive_single_message_proof_1_kb() -> Weight {
(25_962_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
fn receive_single_message_proof_16_kb() -> Weight {
(74_385_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
}
fn receive_single_prepaid_message_proof() -> Weight {
(26_159_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
}
fn receive_delivery_proof_for_single_message() -> Weight { fn receive_delivery_proof_for_single_message() -> Weight {
(107_631_000 as Weight) (27_590_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(6 as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight))
} }
fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight { fn receive_delivery_proof_for_two_messages_by_single_relayer() -> Weight {
(113_885_000 as Weight) (27_354_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(7 as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight))
} }
fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight { fn receive_delivery_proof_for_two_messages_by_two_relayers() -> Weight {
(155_151_000 as Weight) (27_652_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(8 as Weight)) .saturating_add(RocksDbWeight::get().reads(3 as Weight))
.saturating_add(RocksDbWeight::get().writes(4 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight))
} }
} }
+4 -2
View File
@@ -79,10 +79,12 @@ pub fn ensure_weights_are_correct<W: WeightInfoExt>(
// verify `receive_messages_delivery_proof` weight components // verify `receive_messages_delivery_proof` weight components
assert_ne!(W::receive_messages_delivery_proof_overhead(), 0); assert_ne!(W::receive_messages_delivery_proof_overhead(), 0);
assert_ne!(W::receive_messages_delivery_proof_messages_overhead(1), 0);
assert_ne!(W::receive_messages_delivery_proof_relayers_overhead(1), 0);
assert_ne!(W::storage_proof_size_overhead(1), 0); assert_ne!(W::storage_proof_size_overhead(1), 0);
// `receive_messages_delivery_proof_messages_overhead` and
// `receive_messages_delivery_proof_relayers_overhead` may return zero if rewards are not paid
// during confirmations delivery, so we're not checking it here
// verify that the hardcoded value covers `receive_messages_delivery_proof` weight // verify that the hardcoded value covers `receive_messages_delivery_proof` weight
let actual_messages_delivery_confirmation_tx_weight = W::receive_messages_delivery_proof_weight( let actual_messages_delivery_confirmation_tx_weight = W::receive_messages_delivery_proof_weight(
&PreComputedSize(W::expected_extra_storage_proof_size() as usize), &PreComputedSize(W::expected_extra_storage_proof_size() as usize),
+13 -13
View File
@@ -17,7 +17,7 @@
//! Autogenerated weights for `pallet_bridge_parachains` //! Autogenerated weights for `pallet_bridge_parachains`
//! //!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-06-06, STEPS: 50, REPEAT: 20 //! DATE: 2022-07-06, STEPS: 50, REPEAT: 20
//! LOW RANGE: [], HIGH RANGE: [] //! LOW RANGE: [], HIGH RANGE: []
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled
//! CHAIN: Some("dev"), DB CACHE: 1024 //! CHAIN: Some("dev"), DB CACHE: 1024
@@ -59,19 +59,19 @@ pub struct MillauWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for MillauWeight<T> { impl<T: frame_system::Config> WeightInfo for MillauWeight<T> {
fn submit_parachain_heads_with_n_parachains(p: u32) -> Weight { fn submit_parachain_heads_with_n_parachains(p: u32) -> Weight {
(0 as Weight) (0 as Weight)
.saturating_add((18_729_000 as Weight).saturating_mul(p as Weight)) .saturating_add((18_706_000 as Weight).saturating_mul(p as Weight))
.saturating_add(T::DbWeight::get().reads(1 as Weight)) .saturating_add(T::DbWeight::get().reads(2 as Weight))
.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(p as Weight)))
.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(p as Weight))) .saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(p as Weight)))
} }
fn submit_parachain_heads_with_1kb_proof() -> Weight { fn submit_parachain_heads_with_1kb_proof() -> Weight {
(25_355_000 as Weight) (27_549_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight))
} }
fn submit_parachain_heads_with_16kb_proof() -> Weight { fn submit_parachain_heads_with_16kb_proof() -> Weight {
(74_570_000 as Weight) (80_792_000 as Weight)
.saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().reads(4 as Weight))
.saturating_add(T::DbWeight::get().writes(3 as Weight)) .saturating_add(T::DbWeight::get().writes(3 as Weight))
} }
} }
@@ -80,19 +80,19 @@ impl<T: frame_system::Config> WeightInfo for MillauWeight<T> {
impl WeightInfo for () { impl WeightInfo for () {
fn submit_parachain_heads_with_n_parachains(p: u32) -> Weight { fn submit_parachain_heads_with_n_parachains(p: u32) -> Weight {
(0 as Weight) (0 as Weight)
.saturating_add((18_729_000 as Weight).saturating_mul(p as Weight)) .saturating_add((18_706_000 as Weight).saturating_mul(p as Weight))
.saturating_add(RocksDbWeight::get().reads(1 as Weight)) .saturating_add(RocksDbWeight::get().reads(2 as Weight))
.saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(p as Weight))) .saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(p as Weight)))
.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(p as Weight))) .saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(p as Weight)))
} }
fn submit_parachain_heads_with_1kb_proof() -> Weight { fn submit_parachain_heads_with_1kb_proof() -> Weight {
(25_355_000 as Weight) (27_549_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(3 as Weight))
} }
fn submit_parachain_heads_with_16kb_proof() -> Weight { fn submit_parachain_heads_with_16kb_proof() -> Weight {
(74_570_000 as Weight) (80_792_000 as Weight)
.saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().reads(4 as Weight))
.saturating_add(RocksDbWeight::get().writes(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(3 as Weight))
} }
} }
@@ -510,7 +510,7 @@ mod tests {
// i.e. weight reserved for messages dispatch allows dispatch of non-trivial messages. // i.e. weight reserved for messages dispatch allows dispatch of non-trivial messages.
// //
// Any significant change in this values should attract additional attention. // Any significant change in this values should attract additional attention.
(958, 216_583_333_334), (1024, 216_583_333_334),
); );
} }
} }