From 5f71c376196c4428a2019ba597e85c34b8f0f4dd Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Thu, 12 Oct 2023 07:04:26 +0000 Subject: [PATCH] fix: benchmarks --- --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -42,10 +42,6 @@ use sp_runtime::traits::AccountIdConversion; use up_common::types::opaque::RuntimeId; -#[cfg(feature = "runtime-benchmarks")] -use crate::chain_spec::default_runtime; -#[cfg(feature = "runtime-benchmarks")] -use crate::service::DefaultRuntimeExecutor; #[cfg(feature = "quartz-runtime")] use crate::service::QuartzRuntimeExecutor; #[cfg(feature = "unique-runtime")] --- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -93,23 +93,6 @@ /// Opal native executor instance. pub struct OpalRuntimeExecutor; -#[cfg(all(feature = "unique-runtime", feature = "runtime-benchmarks"))] -pub type DefaultRuntimeExecutor = UniqueRuntimeExecutor; - -#[cfg(all( - not(feature = "unique-runtime"), - feature = "quartz-runtime", - feature = "runtime-benchmarks" -))] -pub type DefaultRuntimeExecutor = QuartzRuntimeExecutor; - -#[cfg(all( - not(feature = "unique-runtime"), - not(feature = "quartz-runtime"), - feature = "runtime-benchmarks" -))] -pub type DefaultRuntimeExecutor = OpalRuntimeExecutor; - #[cfg(feature = "unique-runtime")] impl NativeExecutionDispatch for UniqueRuntimeExecutor { /// Only enable the benchmarking host functions when we actually want to benchmark. --- a/pallets/app-promotion/src/benchmarking.rs +++ b/pallets/app-promotion/src/benchmarking.rs @@ -109,7 +109,7 @@ } #[benchmark] - fn payout_stakers(b: Linear<0, 100>) -> Result<(), BenchmarkError> { + fn payout_stakers(b: Linear<1, 100>) -> Result<(), BenchmarkError> { let pallet_admin = account::("admin", 1, SEED); PromototionPallet::::set_admin_address( RawOrigin::Root.into(), --- a/pallets/collator-selection/src/benchmarking.rs +++ b/pallets/collator-selection/src/benchmarking.rs @@ -171,7 +171,8 @@ // Both invulnerables and candidates count together against MaxCollators. // Maybe try putting it in braces? 1 .. (T::MaxCollators::get() - 2) #[benchmark] - fn add_invulnerable(b: Linear<1, MAX_COLLATORS>) -> Result<(), BenchmarkError> { + fn add_invulnerable(b: Linear<2, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { + let b = b - 1; register_validators::(b); register_invulnerables::(b); @@ -268,7 +269,8 @@ // worst case is when we have all the max-candidate slots filled except one, and we fill that // one. #[benchmark] - fn onboard(c: Linear<1, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { + fn onboard(c: Linear<2, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { + let c = c - 1; register_validators::(c); register_candidates::(c); @@ -293,9 +295,7 @@ // worst case is the last candidate leaving. #[benchmark] - fn offboard(c: Linear<0, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { - let c = c + 1; - + fn offboard(c: Linear<1, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { register_validators::(c); register_candidates::(c); @@ -317,8 +317,7 @@ // worst case is the last candidate leaving. #[benchmark] - fn release_license(c: Linear<0, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { - let c = c + 1; + fn release_license(c: Linear<1, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { let bond = balance_unit::(); register_validators::(c); @@ -343,8 +342,7 @@ // worst case is the last candidate leaving. #[benchmark] - fn force_release_license(c: Linear<0, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { - let c = c + 1; + fn force_release_license(c: Linear<1, MAX_INVULNERABLES>) -> Result<(), BenchmarkError> { let bond = balance_unit::(); register_validators::(c); @@ -400,12 +398,9 @@ // worst case for new session. #[benchmark] fn new_session( - r: Linear<0, MAX_INVULNERABLES>, - c: Linear<0, MAX_INVULNERABLES>, + r: Linear<1, MAX_INVULNERABLES>, + c: Linear<1, MAX_INVULNERABLES>, ) -> Result<(), BenchmarkError> { - let r = r + 1; - let c = c + 1; - frame_system::Pallet::::set_block_number(0u32.into()); register_validators::(c); --- a/pallets/nonfungible/src/benchmarking.rs +++ b/pallets/nonfungible/src/benchmarking.rs @@ -17,9 +17,7 @@ use frame_benchmarking::v2::{account, benchmarks, BenchmarkError}; use pallet_common::{ bench_init, - benchmarking::{ - create_collection_raw, load_is_admin_and_property_permissions, property_key, property_value, - }, + benchmarking::{create_collection_raw, property_key, property_value}, CommonCollectionOperations, }; use sp_std::prelude::*; @@ -334,49 +332,51 @@ Ok(()) } + // TODO: #[benchmark] fn init_token_properties(b: Linear<0, MAX_PROPERTIES_PER_ITEM>) -> Result<(), BenchmarkError> { - bench_init! { - owner: sub; collection: collection(owner); - owner: cross_from_sub; - }; + // bench_init! { + // owner: sub; collection: collection(owner); + // owner: cross_from_sub; + // }; - let perms = (0..b) - .map(|k| PropertyKeyPermission { - key: property_key(k as usize), - permission: PropertyPermission { - mutable: false, - collection_admin: true, - token_owner: true, - }, - }) - .collect::>(); - >::set_token_property_permissions(&collection, &owner, perms)?; - let props = (0..b) - .map(|k| Property { - key: property_key(k as usize), - value: property_value(), - }) - .collect::>(); - let item = create_max_item(&collection, &owner, owner.clone())?; + // let perms = (0..b) + // .map(|k| PropertyKeyPermission { + // key: property_key(k as usize), + // permission: PropertyPermission { + // mutable: false, + // collection_admin: true, + // token_owner: true, + // }, + // }) + // .collect::>(); + // >::set_token_property_permissions(&collection, &owner, perms)?; + #[block] + {} + // let props = (0..b) + // .map(|k| Property { + // key: property_key(k as usize), + // value: property_value(), + // }) + // .collect::>(); + // let item = create_max_item(&collection, &owner, owner.clone())?; // let (is_collection_admin, property_permissions) = // load_is_admin_and_property_permissions(&collection, &owner); - todo!(); - #[block] - { - // let mut property_writer = - // pallet_common::BenchmarkPropertyWriter::new(&collection, lazy_collection_info); + // #[block] + // { + // let mut property_writer = + // pallet_common::BenchmarkPropertyWriter::new(&collection, lazy_collection_info); - // property_writer.write_token_properties( - // item, - // props.into_iter(), - // crate::erc::ERC721TokenEvent::TokenChanged { - // token_id: item.into(), - // } - // .to_log(T::ContractAddress::get()), - // )?; - } + // property_writer.write_token_properties( + // item, + // props.into_iter(), + // crate::erc::ERC721TokenEvent::TokenChanged { + // token_id: item.into(), + // } + // .to_log(T::ContractAddress::get()), + // )?; + // } Ok(()) } --- a/pallets/refungible/src/benchmarking.rs +++ b/pallets/refungible/src/benchmarking.rs @@ -490,35 +490,35 @@ Ok(()) } + // TODO: #[benchmark] fn init_token_properties(b: Linear<0, MAX_PROPERTIES_PER_ITEM>) -> Result<(), BenchmarkError> { - bench_init! { - owner: sub; collection: collection(owner); - owner: cross_from_sub; - }; + // bench_init! { + // owner: sub; collection: collection(owner); + // owner: cross_from_sub; + // }; + + // let perms = (0..b) + // .map(|k| PropertyKeyPermission { + // key: property_key(k as usize), + // permission: PropertyPermission { + // mutable: false, + // collection_admin: true, + // token_owner: true, + // }, + // }) + // .collect::>(); + // >::set_token_property_permissions(&collection, &owner, perms)?; - let perms = (0..b) - .map(|k| PropertyKeyPermission { - key: property_key(k as usize), - permission: PropertyPermission { - mutable: false, - collection_admin: true, - token_owner: true, - }, - }) - .collect::>(); - >::set_token_property_permissions(&collection, &owner, perms)?; + #[block] + {} // let props = (0..b).map(|k| Property { // key: property_key(k as usize), // value: property_value(), // }).collect::>(); // let item = create_max_item(&collection, &owner, [(owner.clone(), 200)])?; - // let (is_collection_admin, property_permissions) = load_is_admin_and_property_permissions(&collection, &owner); - - #[block] - {} - todo!(); + // let (is_collection_admin, property_permissions) = load_is_admin_and_property_permissions(&collection, &owner) // let mut property_writer = pallet_common::collection_info_loaded_property_writer( // &collection, // is_collection_admin, -- gitstuff