mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 13:27:57 +00:00
362dc50940
* Move new_rng to shared code Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add bechmark machine command Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Use sc-sysinfo Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add --no-hardware-benchmarks Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Lockfile Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Do not create components if not needed Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Fix tests Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Revert "Add --no-hardware-benchmarks" This reverts commit d4ee98222bf1a5ea62ac60dd7d5c62070e2d7f70. * Fix tests Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update Cargo deps Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Move sr255119::verify bench to sc-sysinfo Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Move sr255119::verify bench to sc-sysinfo Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Switch benchmarks to return f64 Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Review fixes Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * fmt Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Hide command until completed Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Use concrete rand implementation Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Put clobber into a function Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add test Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add comment Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Update cargo to match polkadot Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Remove doc that does not format in the console Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Limit benchmark by time Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add ExecutionLimit and make function infallible Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * CI Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Add doc Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
105 lines
2.6 KiB
Rust
105 lines
2.6 KiB
Rust
// This file is part of Substrate.
|
|
|
|
// Copyright (C) 2020-2022 Parity Technologies (UK) Ltd.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//! Contains the root [`BenchmarkCmd`] command and exports its sub-commands.
|
|
|
|
mod block;
|
|
mod machine;
|
|
mod overhead;
|
|
mod pallet;
|
|
mod shared;
|
|
mod storage;
|
|
|
|
pub use block::BlockCmd;
|
|
pub use machine::MachineCmd;
|
|
pub use overhead::{ExtrinsicBuilder, OverheadCmd};
|
|
pub use pallet::PalletCmd;
|
|
pub use storage::StorageCmd;
|
|
|
|
use sc_cli::{CliConfiguration, DatabaseParams, ImportParams, PruningParams, Result, SharedParams};
|
|
|
|
/// The root `benchmarking` command.
|
|
///
|
|
/// Has no effect itself besides printing a help menu of the sub-commands.
|
|
#[derive(Debug, clap::Subcommand)]
|
|
pub enum BenchmarkCmd {
|
|
Pallet(PalletCmd),
|
|
Storage(StorageCmd),
|
|
Overhead(OverheadCmd),
|
|
Block(BlockCmd),
|
|
#[clap(hide = true)] // Hidden until fully completed.
|
|
Machine(MachineCmd),
|
|
}
|
|
|
|
/// Unwraps a [`BenchmarkCmd`] into its concrete sub-command.
|
|
macro_rules! unwrap_cmd {
|
|
{
|
|
$self:expr,
|
|
$cmd:ident,
|
|
$code:expr
|
|
} => {
|
|
match $self {
|
|
BenchmarkCmd::Pallet($cmd) => $code,
|
|
BenchmarkCmd::Storage($cmd) => $code,
|
|
BenchmarkCmd::Overhead($cmd) => $code,
|
|
BenchmarkCmd::Block($cmd) => $code,
|
|
BenchmarkCmd::Machine($cmd) => $code,
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Forward the [`CliConfiguration`] trait implementation.
|
|
///
|
|
/// Each time a sub-command exposes a new config option, it must be added here.
|
|
impl CliConfiguration for BenchmarkCmd {
|
|
fn shared_params(&self) -> &SharedParams {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.shared_params()
|
|
}
|
|
}
|
|
|
|
fn import_params(&self) -> Option<&ImportParams> {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.import_params()
|
|
}
|
|
}
|
|
|
|
fn database_params(&self) -> Option<&DatabaseParams> {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.database_params()
|
|
}
|
|
}
|
|
|
|
fn pruning_params(&self) -> Option<&PruningParams> {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.pruning_params()
|
|
}
|
|
}
|
|
|
|
fn state_cache_size(&self) -> Result<usize> {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.state_cache_size()
|
|
}
|
|
}
|
|
|
|
fn chain_id(&self, is_dev: bool) -> Result<String> {
|
|
unwrap_cmd! {
|
|
self, cmd, cmd.chain_id(is_dev)
|
|
}
|
|
}
|
|
}
|