Closed
Description
After paritytech/substrate#12924 is done, some things to consider (cc @sam0x17):
- Remove code duplication with old macro expansion code.
- migrate new benchmarking syntax from
frame_support::benchmarking
toframe_benchmarking::v2
substrate#13235 -
#13277 - benchmarking v2 syntax is confusingly lax about return types, leading to confusion substrate#13278
- benchmarking v2 syntax does not issue warnings on unused benchmark params substrate#13303
- generation of real benchmark functions for benchmarking v2 substrate#13224
- add _(force_origin) support to benchmarking v2 substrate#13721
- FRAME: Avoid boilerplate weight macros #205
- bench syntax v2: run test in single functions #376
- Testing
- Migrate more pallets so we can be sure that we cover everything with the new syntax.
- Check for helpful error messages, maybe add help/tutorial links.
- Pallet UI tests, especially if we add new V2-only syntax.
- In-code docs
- Allow
///
comments on benchmarks. substrate#13383 - Carrying over benchmark comments into the metadata and output them into the
WeightInfo
trait. - Expose benchmark functions to rust doc. I don think there is a good way of doing this though, since we want them private… maybe having a
benchmarks::doc
crate which only contains the docs could work.
- Allow
- Syntax extensions
- Try if the
#[must_use]
can work by using Clippy#[must_use]
for benchmarking components #285 or manually. - Modern version of
impl_benchmark_test_suite!
. - Consider multi-char component names
- Add
#[pov_mode]
attribute from Add Proof Size to Weight Output substrate#11637
- Try if the
- External docs
- Either extend
pallet-basic-examples
or create a new examples pallet to show off all the V2 syntax as reference. - Check all README docs, substrate docs and docs.rs stuff
- Update Tutorials
- Either extend
- Announce to Community (should do this once we are sure not to have breaking syntax changes)
Metadata
Metadata
Assignees
Type
Projects
Status
Done
Status
Done