Skip to content

Commit

Permalink
new-benches-3
Browse files Browse the repository at this point in the history
  • Loading branch information
lrazovic authored and JuaniRios committed May 21, 2024
1 parent b5090b4 commit 0fb62a0
Show file tree
Hide file tree
Showing 3 changed files with 273 additions and 69 deletions.
74 changes: 33 additions & 41 deletions pallets/funding/src/tests/misc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -638,47 +638,39 @@ mod async_tests {

#[test]
fn weights() {
// use crate::weights::WeightInfoTest;
use crate::weights::TestWeightInfo;

for i in 0..0 {
println!("hello");
}
// let max_project_to_update_insertion_attempts: u32 =
// <TestRuntime as Config>::MaxProjectsToUpdateInsertionAttempts::get();
// let max_bids_per_project: u32 = <TestRuntime as Config>::MaxBidsPerProject::get();
// let old_community_max = weights::SubstrateWeight::<TestRuntime>::start_community_funding(
// max_project_to_update_insertion_attempts - 1,
// max_bids_per_project / 2,
// max_bids_per_project / 2,
// )
// .max(WeightInfoOf::<TestRuntime>::start_community_funding(
// max_project_to_update_insertion_attempts - 1,
// max_bids_per_project,
// 0u32,
// ))
// .max(WeightInfoOf::<TestRuntime>::start_community_funding(
// max_project_to_update_insertion_attempts - 1,
// 0u32,
// max_bids_per_project,
// ));
// dbg!(old_community_max);
//
// let new_community_max = weights::SubstrateWeightTest::<TestRuntime>::start_community_funding(
// max_project_to_update_insertion_attempts - 1,
// max_bids_per_project,
// );
// dbg!(new_community_max);
//
// let new_auction_end_max = weights::SubstrateWeightTest::<TestRuntime>::end_auction_closing(
// max_project_to_update_insertion_attempts - 1,
// max_bids_per_project,
// 0,
// );
//
// dbg!(new_auction_end_max);
//
//
// let new_sum = new_community_max + new_auction_end_max;
// dbg!(new_sum);
let max_project_to_update_insertion_attempts: u32 =
<TestRuntime as Config>::MaxProjectsToUpdateInsertionAttempts::get();
let max_bids_per_project: u32 = <TestRuntime as Config>::MaxBidsPerProject::get();
let old_community_max = weights::SubstrateWeight::<TestRuntime>::start_community_funding(
max_project_to_update_insertion_attempts - 1,
max_bids_per_project / 2,
max_bids_per_project / 2,
)
.max(WeightInfoOf::<TestRuntime>::start_community_funding(
max_project_to_update_insertion_attempts - 1,
max_bids_per_project,
0u32,
))
.max(WeightInfoOf::<TestRuntime>::start_community_funding(
max_project_to_update_insertion_attempts - 1,
0u32,
max_bids_per_project,
));
dbg!(old_community_max);

let new_community_max = weights::TestSubstrateWeight::<TestRuntime>::start_community_funding(
max_project_to_update_insertion_attempts - 1,
max_bids_per_project,
);
dbg!(new_community_max);

let new_auction_end_max = weights::TestSubstrateWeight::<TestRuntime>::end_auction_closing(
max_project_to_update_insertion_attempts - 1,
max_bids_per_project,
0,
);
dbg!(new_auction_end_max);
}
}
59 changes: 31 additions & 28 deletions pallets/funding/src/weights.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1446,6 +1446,9 @@ impl WeightInfo for () {
}
}




pub trait TestWeightInfo {
fn end_auction_closing(x: u32, y: u32, z: u32, ) -> Weight;
fn start_community_funding(x: u32, y: u32, ) -> Weight;
Expand Down Expand Up @@ -1475,14 +1478,14 @@ impl<T: frame_system::Config> TestWeightInfo for TestSubstrateWeight<T> {
// Proof Size summary in bytes:
// Measured: `1146 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 308_810_000 picoseconds.
Weight::from_parts(18_800_680, 4079)
// Standard Error: 33_795
.saturating_add(Weight::from_parts(2_190_348, 0).saturating_mul(x.into()))
// Standard Error: 6_461
.saturating_add(Weight::from_parts(11_358_946, 0).saturating_mul(y.into()))
// Standard Error: 6_461
.saturating_add(Weight::from_parts(3_302, 0).saturating_mul(z.into()))
// Minimum execution time: 304_601_000 picoseconds.
Weight::from_parts(1_399_005, 4079)
// Standard Error: 28_480
.saturating_add(Weight::from_parts(2_197_342, 0).saturating_mul(x.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(11_335_658, 0).saturating_mul(y.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(15_220, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(6_u64))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(y.into())))
Expand Down Expand Up @@ -1511,12 +1514,12 @@ impl<T: frame_system::Config> TestWeightInfo for TestSubstrateWeight<T> {
// Proof Size summary in bytes:
// Measured: `1417 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 296_110_000 picoseconds.
Weight::from_parts(16_431_395, 4079)
// Standard Error: 34_714
.saturating_add(Weight::from_parts(2_547_873, 0).saturating_mul(x.into()))
// Standard Error: 3_320
.saturating_add(Weight::from_parts(8_045_382, 0).saturating_mul(y.into()))
// Minimum execution time: 295_661_000 picoseconds.
Weight::from_parts(36_696_881, 4079)
// Standard Error: 84_355
.saturating_add(Weight::from_parts(2_288_685, 0).saturating_mul(x.into()))
// Standard Error: 8_068
.saturating_add(Weight::from_parts(8_000_824, 0).saturating_mul(y.into()))
.saturating_add(T::DbWeight::get().reads(7_u64))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(y.into())))
Expand Down Expand Up @@ -1550,14 +1553,14 @@ impl TestWeightInfo for () {
// Proof Size summary in bytes:
// Measured: `1146 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 308_810_000 picoseconds.
Weight::from_parts(18_800_680, 4079)
// Standard Error: 33_795
.saturating_add(Weight::from_parts(2_190_348, 0).saturating_mul(x.into()))
// Standard Error: 6_461
.saturating_add(Weight::from_parts(11_358_946, 0).saturating_mul(y.into()))
// Standard Error: 6_461
.saturating_add(Weight::from_parts(3_302, 0).saturating_mul(z.into()))
// Minimum execution time: 304_601_000 picoseconds.
Weight::from_parts(1_399_005, 4079)
// Standard Error: 28_480
.saturating_add(Weight::from_parts(2_197_342, 0).saturating_mul(x.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(11_335_658, 0).saturating_mul(y.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(15_220, 0).saturating_mul(z.into()))
.saturating_add(RocksDbWeight::get().reads(6_u64))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(y.into())))
Expand Down Expand Up @@ -1586,12 +1589,12 @@ impl TestWeightInfo for () {
// Proof Size summary in bytes:
// Measured: `1417 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 296_110_000 picoseconds.
Weight::from_parts(16_431_395, 4079)
// Standard Error: 34_714
.saturating_add(Weight::from_parts(2_547_873, 0).saturating_mul(x.into()))
// Standard Error: 3_320
.saturating_add(Weight::from_parts(8_045_382, 0).saturating_mul(y.into()))
// Minimum execution time: 295_661_000 picoseconds.
Weight::from_parts(36_696_881, 4079)
// Standard Error: 84_355
.saturating_add(Weight::from_parts(2_288_685, 0).saturating_mul(x.into()))
// Standard Error: 8_068
.saturating_add(Weight::from_parts(8_000_824, 0).saturating_mul(y.into()))
.saturating_add(RocksDbWeight::get().reads(7_u64))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(y.into())))
Expand Down
209 changes: 209 additions & 0 deletions pallets/funding/weight-test.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
// Polimec Blockchain – https://www.polimec.org/
// Copyright (C) Polimec 2022. All rights reserved.

// The Polimec Blockchain is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// The Polimec Blockchain is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

// If you feel like getting in touch with us, you can do so at info@polimec.org


//! Autogenerated weights for `pallet_funding`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-05-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `ip-172-31-23-147`, CPU: `AMD EPYC 9R14`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("polimec-local")`, DB CACHE: `1024`

// Executed Command:
// ./target/production/polimec-node
// benchmark
// pallet
// --chain=polimec-local
// --steps=50
// --repeat=20
// --pallet=pallet-funding
// --no-storage-info
// --no-median-slopes
// --no-min-squares
// --extrinsic
// end_auction_closing,start_community_funding
// --wasm-execution=compiled
// --heap-pages=4096
// --output=pallets/funding/weight-test.rs
// --template=./.maintain/frame-weight-template.hbs

#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]

use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use core::marker::PhantomData;

/// Weight functions needed for `pallet_funding`.
pub trait WeightInfo {
fn end_auction_closing(x: u32, y: u32, z: u32, ) -> Weight;
fn start_community_funding(x: u32, y: u32, ) -> Weight;
}

/// Weights for `pallet_funding` using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
/// Storage: `Funding::ProjectsDetails` (r:1 w:1)
/// Proof: `Funding::ProjectsDetails` (`max_values`: None, `max_size`: Some(397), added: 2872, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsMetadata` (r:1 w:0)
/// Proof: `Funding::ProjectsMetadata` (`max_values`: None, `max_size`: Some(502), added: 2977, mode: `MaxEncodedLen`)
/// Storage: `Funding::Nonce` (r:1 w:1)
/// Proof: `Funding::Nonce` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Random::RandomMaterial` (r:1 w:0)
/// Proof: `Random::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
/// Storage: `Funding::Bids` (r:513 w:512)
/// Proof: `Funding::Bids` (`max_values`: None, `max_size`: Some(306), added: 2781, mode: `MaxEncodedLen`)
/// Storage: `Funding::DidWithWinningBids` (r:512 w:512)
/// Proof: `Funding::DidWithWinningBids` (`max_values`: None, `max_size`: Some(95), added: 2570, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsToUpdate` (r:100 w:1)
/// Proof: `Funding::ProjectsToUpdate` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`)
/// The range of component `x` is `[1, 99]`.
/// The range of component `y` is `[0, 512]`.
/// The range of component `z` is `[0, 512]`.
fn end_auction_closing(x: u32, y: u32, z: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1146 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 304_601_000 picoseconds.
Weight::from_parts(1_399_005, 4079)
// Standard Error: 28_480
.saturating_add(Weight::from_parts(2_197_342, 0).saturating_mul(x.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(11_335_658, 0).saturating_mul(y.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(15_220, 0).saturating_mul(z.into()))
.saturating_add(T::DbWeight::get().reads(6_u64))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(y.into())))
.saturating_add(T::DbWeight::get().writes(3_u64))
.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(y.into())))
.saturating_add(Weight::from_parts(0, 2501).saturating_mul(x.into()))
.saturating_add(Weight::from_parts(0, 2781).saturating_mul(y.into()))
}
/// Storage: `Funding::ProjectsDetails` (r:1 w:1)
/// Proof: `Funding::ProjectsDetails` (`max_values`: None, `max_size`: Some(397), added: 2872, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsMetadata` (r:1 w:0)
/// Proof: `Funding::ProjectsMetadata` (`max_values`: None, `max_size`: Some(502), added: 2977, mode: `MaxEncodedLen`)
/// Storage: `Funding::Nonce` (r:1 w:1)
/// Proof: `Funding::Nonce` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Random::RandomMaterial` (r:1 w:0)
/// Proof: `Random::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
/// Storage: `Funding::Bids` (r:1025 w:1024)
/// Proof: `Funding::Bids` (`max_values`: None, `max_size`: Some(306), added: 2781, mode: `MaxEncodedLen`)
/// Storage: `Oracle::Values` (r:1 w:0)
/// Proof: `Oracle::Values` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsToUpdate` (r:100 w:1)
/// Proof: `Funding::ProjectsToUpdate` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`)
/// The range of component `x` is `[1, 99]`.
/// The range of component `y` is `[0, 1024]`.
fn start_community_funding(x: u32, y: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1417 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 295_661_000 picoseconds.
Weight::from_parts(36_696_881, 4079)
// Standard Error: 84_355
.saturating_add(Weight::from_parts(2_288_685, 0).saturating_mul(x.into()))
// Standard Error: 8_068
.saturating_add(Weight::from_parts(8_000_824, 0).saturating_mul(y.into()))
.saturating_add(T::DbWeight::get().reads(7_u64))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(y.into())))
.saturating_add(T::DbWeight::get().writes(3_u64))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(y.into())))
.saturating_add(Weight::from_parts(0, 2501).saturating_mul(x.into()))
.saturating_add(Weight::from_parts(0, 2781).saturating_mul(y.into()))
}
}

// For backwards compatibility and tests.
impl WeightInfo for () {
/// Storage: `Funding::ProjectsDetails` (r:1 w:1)
/// Proof: `Funding::ProjectsDetails` (`max_values`: None, `max_size`: Some(397), added: 2872, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsMetadata` (r:1 w:0)
/// Proof: `Funding::ProjectsMetadata` (`max_values`: None, `max_size`: Some(502), added: 2977, mode: `MaxEncodedLen`)
/// Storage: `Funding::Nonce` (r:1 w:1)
/// Proof: `Funding::Nonce` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Random::RandomMaterial` (r:1 w:0)
/// Proof: `Random::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
/// Storage: `Funding::Bids` (r:513 w:512)
/// Proof: `Funding::Bids` (`max_values`: None, `max_size`: Some(306), added: 2781, mode: `MaxEncodedLen`)
/// Storage: `Funding::DidWithWinningBids` (r:512 w:512)
/// Proof: `Funding::DidWithWinningBids` (`max_values`: None, `max_size`: Some(95), added: 2570, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsToUpdate` (r:100 w:1)
/// Proof: `Funding::ProjectsToUpdate` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`)
/// The range of component `x` is `[1, 99]`.
/// The range of component `y` is `[0, 512]`.
/// The range of component `z` is `[0, 512]`.
fn end_auction_closing(x: u32, y: u32, z: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1146 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 304_601_000 picoseconds.
Weight::from_parts(1_399_005, 4079)
// Standard Error: 28_480
.saturating_add(Weight::from_parts(2_197_342, 0).saturating_mul(x.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(11_335_658, 0).saturating_mul(y.into()))
// Standard Error: 5_444
.saturating_add(Weight::from_parts(15_220, 0).saturating_mul(z.into()))
.saturating_add(RocksDbWeight::get().reads(6_u64))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(y.into())))
.saturating_add(RocksDbWeight::get().writes(3_u64))
.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(y.into())))
.saturating_add(Weight::from_parts(0, 2501).saturating_mul(x.into()))
.saturating_add(Weight::from_parts(0, 2781).saturating_mul(y.into()))
}
/// Storage: `Funding::ProjectsDetails` (r:1 w:1)
/// Proof: `Funding::ProjectsDetails` (`max_values`: None, `max_size`: Some(397), added: 2872, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsMetadata` (r:1 w:0)
/// Proof: `Funding::ProjectsMetadata` (`max_values`: None, `max_size`: Some(502), added: 2977, mode: `MaxEncodedLen`)
/// Storage: `Funding::Nonce` (r:1 w:1)
/// Proof: `Funding::Nonce` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
/// Storage: `Random::RandomMaterial` (r:1 w:0)
/// Proof: `Random::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
/// Storage: `Funding::Bids` (r:1025 w:1024)
/// Proof: `Funding::Bids` (`max_values`: None, `max_size`: Some(306), added: 2781, mode: `MaxEncodedLen`)
/// Storage: `Oracle::Values` (r:1 w:0)
/// Proof: `Oracle::Values` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
/// Storage: `Funding::ProjectsToUpdate` (r:100 w:1)
/// Proof: `Funding::ProjectsToUpdate` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`)
/// The range of component `x` is `[1, 99]`.
/// The range of component `y` is `[0, 1024]`.
fn start_community_funding(x: u32, y: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1417 + x * (28 ±0) + y * (272 ±0)`
// Estimated: `4079 + x * (2501 ±0) + y * (2781 ±0)`
// Minimum execution time: 295_661_000 picoseconds.
Weight::from_parts(36_696_881, 4079)
// Standard Error: 84_355
.saturating_add(Weight::from_parts(2_288_685, 0).saturating_mul(x.into()))
// Standard Error: 8_068
.saturating_add(Weight::from_parts(8_000_824, 0).saturating_mul(y.into()))
.saturating_add(RocksDbWeight::get().reads(7_u64))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(y.into())))
.saturating_add(RocksDbWeight::get().writes(3_u64))
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(y.into())))
.saturating_add(Weight::from_parts(0, 2501).saturating_mul(x.into()))
.saturating_add(Weight::from_parts(0, 2781).saturating_mul(y.into()))
}
}

0 comments on commit 0fb62a0

Please sign in to comment.