referrerpolicy=no-referrer-when-downgrade

Module polkadot_sdk_frame::benchmarking::prelude

source ·

Re-exports§

Modules§

  • A set of benchmarks which can establish a global baseline for all other benchmarking. These benchmarks do not require a pallet to be deployed.
  • Macros for benchmarking a FRAME runtime.

Macros§

Structs§

  • The results of a single of benchmark.
  • The results of a single of benchmark, where time and db results are separated.
  • Configuration used to setup and run runtime benchmarks.
  • A list of benchmarks available for a particular pallet and instance.
  • Records the time and proof size of a single benchmark iteration.
  • Result from running benchmarks on a FRAME pallet. Contains duration of the function call in nanoseconds along with the benchmark parameters used for that benchmark result.
  • Provides implementations for the extern host functions.
  • Used by the new benchmarking code to specify that a benchmarking variable is linear over some specified range, i.e. Linear<0, 1_000> means that the corresponding variable is allowed to range from 0 to 1000, inclusive.

Enums§

Traits§

  • Runtime api for benchmarking a FRAME runtime.
  • The pallet benchmarking trait.
  • The required setup for creating a benchmark.
  • Trait that must be implemented by all structs that can be used as parameter range types in the new benchmarking code (i.e. Linear<0, 1_000>). Right now there is just Linear but this could later be extended to support additional non-linear parameter ranges.
  • The recording trait used to mark the start and end of a benchmark.

Functions§

Attribute Macros§

  • An attribute macro used to declare a benchmark within a benchmarking module. Must be attached to a function definition containing an #[extrinsic_call] or #[block] attribute.
  • An attribute macro that can be attached to a (non-empty) module declaration. Doing so will designate that module as a benchmarking module.
  • An attribute macro used to specify that a block should be the measured portion of the enclosing benchmark function, This attribute is also used as a boundary designating where the benchmark setup code ends, and the benchmark verification code begins.
  • An attribute macro used to specify the extrinsic call inside a benchmark function, and also used as a boundary designating where the benchmark setup code ends, and the benchmark verification code begins.
  • An attribute macro that can be attached to a (non-empty) module declaration. Doing so will designate that module as an instance benchmarking module.