Skip to content

Commit fa57ef9

Browse files
shawntabrizizadmarbellaParity Benchmarking Bot
authored
New Weight Template + Organization (#7391)
* add_handlebar_template_to_benchmark - add benchmark-cli arg to take in a handlebar-template file * update to always use template * rewrite writer for handlebars * polish * pass cmd data * update docs * new weight layout * separate templates * support custom filename output * Update command.rs * Create frame-weight-template.hbs * use a vector to maintain benchmark order * bring back () * fix tests * fix build * Custom string serializer, remove feature flag * temp * rename * nit * update docs * docs on public objects * small fix * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs * remove long line * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for system * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for staking * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_identity --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/identity/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for identity and staking * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_collective --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/collective/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for collective * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for democracy * clean up zeros * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for elections phragmen * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_im_online --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/im-online/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for im online * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_indices --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/indices/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for indices * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_multisig --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/multisig/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for multisig * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_proxy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/proxy/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for proxy * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_scheduler --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/scheduler/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for scheduler * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_session --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/session/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for session * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for timestamp * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for treasury * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for utility * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_vesting --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/vesting/src/weights.rs --template=./.maintain/frame-weight-template.hbs * update for vesting * temp update * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs Co-authored-by: Ezadkiel Marbella <[email protected]> Co-authored-by: Parity Benchmarking Bot <[email protected]>
1 parent 3a239be commit fa57ef9

File tree

3 files changed

+130
-66
lines changed

3 files changed

+130
-66
lines changed

src/default_weights.rs

Lines changed: 0 additions & 51 deletions
This file was deleted.

src/lib.rs

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
2121
#![cfg_attr(not(feature = "std"), no_std)]
2222

23+
mod mock;
24+
pub mod address;
25+
mod tests;
26+
mod benchmarking;
27+
pub mod weights;
28+
2329
use sp_std::prelude::*;
2430
use codec::Codec;
2531
use sp_runtime::traits::{
@@ -28,27 +34,13 @@ use sp_runtime::traits::{
2834
use frame_support::{Parameter, decl_module, decl_error, decl_event, decl_storage, ensure};
2935
use frame_support::dispatch::DispatchResult;
3036
use frame_support::traits::{Currency, ReservableCurrency, Get, BalanceStatus::Reserved};
31-
use frame_support::weights::Weight;
3237
use frame_system::{ensure_signed, ensure_root};
3338
use self::address::Address as RawAddress;
34-
35-
mod mock;
36-
pub mod address;
37-
mod tests;
38-
mod benchmarking;
39-
mod default_weights;
39+
pub use weights::WeightInfo;
4040

4141
pub type Address<T> = RawAddress<<T as frame_system::Trait>::AccountId, <T as Trait>::AccountIndex>;
4242
type BalanceOf<T> = <<T as Trait>::Currency as Currency<<T as frame_system::Trait>::AccountId>>::Balance;
4343

44-
pub trait WeightInfo {
45-
fn claim() -> Weight;
46-
fn transfer() -> Weight;
47-
fn free() -> Weight;
48-
fn force_transfer() -> Weight;
49-
fn freeze() -> Weight;
50-
}
51-
5244
/// The module's config trait.
5345
pub trait Trait: frame_system::Trait {
5446
/// Type used for storing an account's index; implies the maximum number of accounts the system

src/weights.rs

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
// This file is part of Substrate.
2+
3+
// Copyright (C) 2020 Parity Technologies (UK) Ltd.
4+
// SPDX-License-Identifier: Apache-2.0
5+
6+
// Licensed under the Apache License, Version 2.0 (the "License");
7+
// you may not use this file except in compliance with the License.
8+
// You may obtain a copy of the License at
9+
//
10+
// http://www.apache.org/licenses/LICENSE-2.0
11+
//
12+
// Unless required by applicable law or agreed to in writing, software
13+
// distributed under the License is distributed on an "AS IS" BASIS,
14+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
// See the License for the specific language governing permissions and
16+
// limitations under the License.
17+
18+
//! Weights for pallet_indices
19+
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0
20+
//! DATE: 2020-10-27, STEPS: [50, ], REPEAT: 20, LOW RANGE: [], HIGH RANGE: []
21+
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
22+
23+
// Executed Command:
24+
// target/release/substrate
25+
// benchmark
26+
// --chain=dev
27+
// --steps=50
28+
// --repeat=20
29+
// --pallet=pallet_indices
30+
// --extrinsic=*
31+
// --execution=wasm
32+
// --wasm-execution=compiled
33+
// --heap-pages=4096
34+
// --output=./frame/indices/src/weights.rs
35+
// --template=./.maintain/frame-weight-template.hbs
36+
37+
38+
#![allow(unused_parens)]
39+
#![allow(unused_imports)]
40+
41+
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
42+
use sp_std::marker::PhantomData;
43+
44+
/// Weight functions needed for pallet_indices.
45+
pub trait WeightInfo {
46+
fn claim() -> Weight;
47+
fn transfer() -> Weight;
48+
fn free() -> Weight;
49+
fn force_transfer() -> Weight;
50+
fn freeze() -> Weight;
51+
52+
}
53+
54+
/// Weights for pallet_indices using the Substrate node and recommended hardware.
55+
pub struct SubstrateWeight<T>(PhantomData<T>);
56+
impl<T: frame_system::Trait> WeightInfo for SubstrateWeight<T> {
57+
fn claim() -> Weight {
58+
(53_799_000 as Weight)
59+
.saturating_add(T::DbWeight::get().reads(1 as Weight))
60+
.saturating_add(T::DbWeight::get().writes(1 as Weight))
61+
62+
}
63+
fn transfer() -> Weight {
64+
(60_294_000 as Weight)
65+
.saturating_add(T::DbWeight::get().reads(2 as Weight))
66+
.saturating_add(T::DbWeight::get().writes(2 as Weight))
67+
68+
}
69+
fn free() -> Weight {
70+
(48_625_000 as Weight)
71+
.saturating_add(T::DbWeight::get().reads(1 as Weight))
72+
.saturating_add(T::DbWeight::get().writes(1 as Weight))
73+
74+
}
75+
fn force_transfer() -> Weight {
76+
(49_762_000 as Weight)
77+
.saturating_add(T::DbWeight::get().reads(2 as Weight))
78+
.saturating_add(T::DbWeight::get().writes(2 as Weight))
79+
80+
}
81+
fn freeze() -> Weight {
82+
(44_869_000 as Weight)
83+
.saturating_add(T::DbWeight::get().reads(1 as Weight))
84+
.saturating_add(T::DbWeight::get().writes(1 as Weight))
85+
86+
}
87+
88+
}
89+
90+
// For backwards compatibility and tests
91+
impl WeightInfo for () {
92+
fn claim() -> Weight {
93+
(53_799_000 as Weight)
94+
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
95+
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
96+
97+
}
98+
fn transfer() -> Weight {
99+
(60_294_000 as Weight)
100+
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
101+
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
102+
103+
}
104+
fn free() -> Weight {
105+
(48_625_000 as Weight)
106+
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
107+
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
108+
109+
}
110+
fn force_transfer() -> Weight {
111+
(49_762_000 as Weight)
112+
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
113+
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
114+
115+
}
116+
fn freeze() -> Weight {
117+
(44_869_000 as Weight)
118+
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
119+
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
120+
121+
}
122+
123+
}

0 commit comments

Comments
 (0)