mirror of
https://github.com/serai-dex/serai.git
synced 2024-11-17 01:17:36 +00:00
Patch Benchmark
This commit is contained in:
parent
f809827acd
commit
0543f3c469
2 changed files with 19 additions and 10 deletions
|
@ -1,7 +1,5 @@
|
||||||
use std::sync::Arc;
|
|
||||||
|
|
||||||
use sc_service::PartialComponents;
|
use sc_service::PartialComponents;
|
||||||
use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
|
use frame_benchmarking_cli::{ExtrinsicFactory, BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
|
||||||
use sc_cli::{ChainSpec, RuntimeVersion, SubstrateCli};
|
use sc_cli::{ChainSpec, RuntimeVersion, SubstrateCli};
|
||||||
|
|
||||||
use serai_runtime::Block;
|
use serai_runtime::Block;
|
||||||
|
@ -9,7 +7,7 @@ use serai_runtime::Block;
|
||||||
use crate::{
|
use crate::{
|
||||||
chain_spec,
|
chain_spec,
|
||||||
cli::{Cli, Subcommand},
|
cli::{Cli, Subcommand},
|
||||||
command_helper::{BenchmarkExtrinsicBuilder, inherent_benchmark_data},
|
command_helper::{RemarkBuilder, inherent_benchmark_data},
|
||||||
service,
|
service,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,11 +101,15 @@ pub fn run() -> sc_cli::Result<()> {
|
||||||
|
|
||||||
BenchmarkCmd::Overhead(cmd) => {
|
BenchmarkCmd::Overhead(cmd) => {
|
||||||
let client = service::new_partial(&config)?.client;
|
let client = service::new_partial(&config)?.client;
|
||||||
|
cmd.run(config, client.clone(), inherent_benchmark_data()?, &RemarkBuilder::new(client))
|
||||||
|
}
|
||||||
|
|
||||||
|
BenchmarkCmd::Extrinsic(cmd) => {
|
||||||
|
let PartialComponents { client, .. } = service::new_partial(&config)?;
|
||||||
cmd.run(
|
cmd.run(
|
||||||
config,
|
|
||||||
client.clone(),
|
client.clone(),
|
||||||
inherent_benchmark_data()?,
|
inherent_benchmark_data()?,
|
||||||
Arc::new(BenchmarkExtrinsicBuilder::new(client)),
|
&ExtrinsicFactory(vec![Box::new(RemarkBuilder::new(client))]),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,18 +14,25 @@ use runtime::SystemCall;
|
||||||
|
|
||||||
use crate::service::FullClient;
|
use crate::service::FullClient;
|
||||||
|
|
||||||
pub struct BenchmarkExtrinsicBuilder {
|
pub struct RemarkBuilder {
|
||||||
client: Arc<FullClient>,
|
client: Arc<FullClient>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BenchmarkExtrinsicBuilder {
|
impl RemarkBuilder {
|
||||||
pub fn new(client: Arc<FullClient>) -> Self {
|
pub fn new(client: Arc<FullClient>) -> Self {
|
||||||
Self { client }
|
Self { client }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl frame_benchmarking_cli::ExtrinsicBuilder for BenchmarkExtrinsicBuilder {
|
impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder {
|
||||||
fn remark(&self, nonce: u32) -> std::result::Result<OpaqueExtrinsic, &'static str> {
|
fn pallet(&self) -> &str {
|
||||||
|
"system"
|
||||||
|
}
|
||||||
|
fn extrinsic(&self) -> &str {
|
||||||
|
"remark"
|
||||||
|
}
|
||||||
|
|
||||||
|
fn build(&self, nonce: u32) -> std::result::Result<OpaqueExtrinsic, &'static str> {
|
||||||
Ok(OpaqueExtrinsic::from(create_benchmark_extrinsic(
|
Ok(OpaqueExtrinsic::from(create_benchmark_extrinsic(
|
||||||
self.client.as_ref(),
|
self.client.as_ref(),
|
||||||
Sr25519Keyring::Bob.pair(),
|
Sr25519Keyring::Bob.pair(),
|
||||||
|
|
Loading…
Reference in a new issue