Skip to content

Commit cc561ef

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 c8cbd42 commit cc561ef

File tree

3 files changed

+120
-58
lines changed

3 files changed

+120
-58
lines changed

src/default_weights.rs

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

src/lib.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
#![cfg_attr(not(feature = "std"), no_std)]
5353

5454
mod benchmarking;
55-
mod default_weights;
55+
pub mod weights;
5656

5757
use sp_std::{prelude::*, marker::PhantomData, borrow::Borrow};
5858
use codec::{Encode, Decode, Codec};
@@ -64,13 +64,7 @@ use frame_support::{
6464
weights::{GetDispatchInfo, Weight},
6565
};
6666
use frame_system::{self as system, ensure_signed};
67-
68-
pub trait WeightInfo {
69-
fn schedule(s: u32, ) -> Weight;
70-
fn cancel(s: u32, ) -> Weight;
71-
fn schedule_named(s: u32, ) -> Weight;
72-
fn cancel_named(s: u32, ) -> Weight;
73-
}
67+
pub use weights::WeightInfo;
7468

7569
/// Our pallet's configuration trait. All our types and constants go in here. If the
7670
/// pallet is dependent on specific other pallets, then their configuration traits

src/weights.rs

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
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_scheduler
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_scheduler
30+
// --extrinsic=*
31+
// --execution=wasm
32+
// --wasm-execution=compiled
33+
// --heap-pages=4096
34+
// --output=./frame/scheduler/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_scheduler.
45+
pub trait WeightInfo {
46+
fn schedule(s: u32, ) -> Weight;
47+
fn cancel(s: u32, ) -> Weight;
48+
fn schedule_named(s: u32, ) -> Weight;
49+
fn cancel_named(s: u32, ) -> Weight;
50+
51+
}
52+
53+
/// Weights for pallet_scheduler using the Substrate node and recommended hardware.
54+
pub struct SubstrateWeight<T>(PhantomData<T>);
55+
impl<T: frame_system::Trait> WeightInfo for SubstrateWeight<T> {
56+
fn schedule(s: u32, ) -> Weight {
57+
(35_029_000 as Weight)
58+
.saturating_add((77_000 as Weight).saturating_mul(s 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 cancel(s: u32, ) -> Weight {
64+
(31_419_000 as Weight)
65+
.saturating_add((4_015_000 as Weight).saturating_mul(s as Weight))
66+
.saturating_add(T::DbWeight::get().reads(1 as Weight))
67+
.saturating_add(T::DbWeight::get().writes(2 as Weight))
68+
69+
}
70+
fn schedule_named(s: u32, ) -> Weight {
71+
(44_752_000 as Weight)
72+
.saturating_add((123_000 as Weight).saturating_mul(s as Weight))
73+
.saturating_add(T::DbWeight::get().reads(2 as Weight))
74+
.saturating_add(T::DbWeight::get().writes(2 as Weight))
75+
76+
}
77+
fn cancel_named(s: u32, ) -> Weight {
78+
(35_712_000 as Weight)
79+
.saturating_add((4_008_000 as Weight).saturating_mul(s as Weight))
80+
.saturating_add(T::DbWeight::get().reads(2 as Weight))
81+
.saturating_add(T::DbWeight::get().writes(2 as Weight))
82+
83+
}
84+
85+
}
86+
87+
// For backwards compatibility and tests
88+
impl WeightInfo for () {
89+
fn schedule(s: u32, ) -> Weight {
90+
(35_029_000 as Weight)
91+
.saturating_add((77_000 as Weight).saturating_mul(s as Weight))
92+
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
93+
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
94+
95+
}
96+
fn cancel(s: u32, ) -> Weight {
97+
(31_419_000 as Weight)
98+
.saturating_add((4_015_000 as Weight).saturating_mul(s as Weight))
99+
.saturating_add(RocksDbWeight::get().reads(1 as Weight))
100+
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
101+
102+
}
103+
fn schedule_named(s: u32, ) -> Weight {
104+
(44_752_000 as Weight)
105+
.saturating_add((123_000 as Weight).saturating_mul(s as Weight))
106+
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
107+
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
108+
109+
}
110+
fn cancel_named(s: u32, ) -> Weight {
111+
(35_712_000 as Weight)
112+
.saturating_add((4_008_000 as Weight).saturating_mul(s as Weight))
113+
.saturating_add(RocksDbWeight::get().reads(2 as Weight))
114+
.saturating_add(RocksDbWeight::get().writes(2 as Weight))
115+
116+
}
117+
118+
}

0 commit comments

Comments
 (0)