Files
pezkuwi-subxt/substrate/frame/scheduler
PG Herveou d38f6e6728 Update benchmarking macros (#3934)
Current benchmarking macro returns a closure with the captured
benchmarked code.
This can cause issues when the benchmarked code has complex lifetime
requirements.

This PR updates the existing macro by injecting the recording parameter
and invoking the start / stop method around the benchmarked block
instead of returning a closure

One other added benefit is that you can write this kind of code now as
well:

```rust
let v;
#[block]
{ v = func.call(); }
dbg!(v); // or assert something on v
```


[Weights compare
link](https://weights.tasty.limo/compare?unit=weight&ignore_errors=true&threshold=10&method=asymptotic&repo=polkadot-sdk&old=pg/fix-weights&new=pg/bench_update&path_pattern=substrate/frame/**/src/weights.rs,polkadot/runtime/*/src/weights/**/*.rs,polkadot/bridges/modules/*/src/weights.rs,cumulus/**/weights/*.rs,cumulus/**/weights/xcm/*.rs,cumulus/**/src/weights.rs)

---------

Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
2024-04-10 06:44:46 +00:00
..
2024-04-10 06:44:46 +00:00

Scheduler

A module for scheduling dispatches.

Overview

This module exposes capabilities for scheduling dispatches to occur at a specified block number or at a specified period. These scheduled dispatches may be named or anonymous and may be canceled.

NOTE: The scheduled calls will be dispatched with the default filter for the origin: namely frame_system::Config::BaseCallFilter for all origin except root which will get no filter. And not the filter contained in origin use to call fn schedule.

If a call is scheduled using proxy or whatever mechanism which adds filter, then those filter will not be used when dispatching the schedule call.

Interface

Dispatchable Functions

  • schedule - schedule a dispatch, which may be periodic, to occur at a specified block and with a specified priority.
  • cancel - cancel a scheduled dispatch, specified by block number and index.
  • schedule_named - augments the schedule interface with an additional Vec<u8> parameter that can be used for identification.
  • cancel_named - the named complement to the cancel function.

License: Apache 2.0