difftreelog
feat benchmarking script
in: master
3 files changed
.maintain/frame-weight-template.hbsdiffbeforeafterboth--- /dev/null
+++ b/.maintain/frame-weight-template.hbs
@@ -0,0 +1,95 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! Autogenerated weights for {{pallet}}
+//!
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION {{version}}
+//! DATE: {{date}}, STEPS: `{{cmd.steps}}`, REPEAT: {{cmd.repeat}}, LOW RANGE: `{{cmd.lowest_range_values}}`, HIGH RANGE: `{{cmd.highest_range_values}}`
+//! EXECUTION: {{cmd.execution}}, WASM-EXECUTION: {{cmd.wasm_execution}}, CHAIN: {{cmd.chain}}, DB CACHE: {{cmd.db_cache}}
+
+// Executed Command:
+{{#each args as |arg|~}}
+// {{arg}}
+{{/each}}
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+
+use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
+use sp_std::marker::PhantomData;
+
+/// Weight functions needed for {{pallet}}.
+pub trait WeightInfo {
+ {{~#each benchmarks as |benchmark|}}
+ fn {{benchmark.name~}}
+ (
+ {{~#each benchmark.components as |c| ~}}
+ {{c.name}}: u32, {{/each~}}
+ ) -> Weight;
+ {{~/each}}
+}
+
+/// Weights for {{pallet}} using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+ {{~#each benchmarks as |benchmark|}}
+ {{~#each benchmark.comments as |comment|}}
+ // {{comment}}
+ {{~/each}}
+ fn {{benchmark.name~}}
+ (
+ {{~#each benchmark.components as |c| ~}}
+ {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
+ ) -> Weight {
+ ({{underscore benchmark.base_weight}} as Weight)
+ {{~#each benchmark.component_weight as |cw|}}
+ // Standard Error: {{underscore cw.error}}
+ .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
+ {{~/each}}
+ {{~#if (ne benchmark.base_reads "0")}}
+ .saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight))
+ {{~/if}}
+ {{~#each benchmark.component_reads as |cr|}}
+ .saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
+ {{~/each}}
+ {{~#if (ne benchmark.base_writes "0")}}
+ .saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight))
+ {{~/if}}
+ {{~#each benchmark.component_writes as |cw|}}
+ .saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
+ {{~/each}}
+ }
+ {{~/each}}
+}
+
+// For backwards compatibility and tests
+impl WeightInfo for () {
+ {{~#each benchmarks as |benchmark|}}
+ {{~#each benchmark.comments as |comment|}}
+ // {{comment}}
+ {{~/each}}
+ fn {{benchmark.name~}}
+ (
+ {{~#each benchmark.components as |c| ~}}
+ {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
+ ) -> Weight {
+ ({{underscore benchmark.base_weight}} as Weight)
+ {{~#each benchmark.component_weight as |cw|}}
+ // Standard Error: {{underscore cw.error}}
+ .saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
+ {{~/each}}
+ {{~#if (ne benchmark.base_reads "0")}}
+ .saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as Weight))
+ {{~/if}}
+ {{~#each benchmark.component_reads as |cr|}}
+ .saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
+ {{~/each}}
+ {{~#if (ne benchmark.base_writes "0")}}
+ .saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as Weight))
+ {{~/if}}
+ {{~#each benchmark.component_writes as |cw|}}
+ .saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
+ {{~/each}}
+ }
+ {{~/each}}
+}
\ No newline at end of file
Makefilediffbeforeafterboth--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+_bench:
+ cargo run --release --features runtime-benchmarks -- \
+ benchmark --pallet pallet-$(PALLET) \
+ --wasm-execution compiled --extrinsic '*' \
+ --template .maintain/frame-weight-template.hbs --steps=50 --repeat=20 \
+ --output=./pallets/$(PALLET)/src/weights.rs
+
+bench-evm-migration:
+ make _bench PALLET=evm-migration
+
+bench: bench-evm-migration
\ No newline at end of file
pallets/evm-migration/src/weights.rsdiffbeforeafterboth1// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs23//! Autogenerated weights for pallet_evm_migration4//!5//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.06//! DATE: 2021-08-12, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`7//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 12889// Executed Command:10// target/release/nft11// benchmark12// --pallet13// pallet-evm-migration14// --wasm-execution15// compiled16// --extrinsic17// *18// --template19// .maintain/frame-weight-template.hbs20// --steps=5021// --repeat=2022// --output=./pallets/evm-migration/src/weights.rs232425#![cfg_attr(rustfmt, rustfmt_skip)]26#![allow(unused_parens)]27#![allow(unused_imports)]2829use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};30use sp_std::marker::PhantomData;3132/// Weight functions needed for pallet_evm_migration.33pub trait WeightInfo {34 fn begin() -> Weight;35 fn set_data(b: u32, ) -> Weight;36 fn finish(b: u32, ) -> Weight;37}3839/// Weights for pallet_evm_migration using the Substrate node and recommended hardware.40pub struct SubstrateWeight<T>(PhantomData<T>);41impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {42 fn begin() -> Weight {43 (6_210_000 as Weight)44 .saturating_add(T::DbWeight::get().reads(3 as Weight))45 .saturating_add(T::DbWeight::get().writes(1 as Weight))46 }47 fn set_data(b: u32, ) -> Weight {48 (2_926_000 as Weight)49 // Standard Error: 4_00050 .saturating_add((649_000 as Weight).saturating_mul(b as Weight))51 .saturating_add(T::DbWeight::get().reads(1 as Weight))52 .saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))53 }54 fn finish(_b: u32, ) -> Weight {55 (4_309_000 as Weight)56 .saturating_add(T::DbWeight::get().reads(1 as Weight))57 .saturating_add(T::DbWeight::get().writes(2 as Weight))58 }59}6061// For backwards compatibility and tests62impl WeightInfo for () {63 fn begin() -> Weight {64 (6_210_000 as Weight)65 .saturating_add(RocksDbWeight::get().reads(3 as Weight))66 .saturating_add(RocksDbWeight::get().writes(1 as Weight))67 }68 fn set_data(b: u32, ) -> Weight {69 (2_926_000 as Weight)70 // Standard Error: 4_00071 .saturating_add((649_000 as Weight).saturating_mul(b as Weight))72 .saturating_add(RocksDbWeight::get().reads(1 as Weight))73 .saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))74 }75 fn finish(_b: u32, ) -> Weight {76 (4_309_000 as Weight)77 .saturating_add(RocksDbWeight::get().reads(1 as Weight))78 .saturating_add(RocksDbWeight::get().writes(2 as Weight))79 }80}