Skip to main content
added 96 characters in body
Source Link

A Call itself does not have a weight but only a weight annontation in the form of #[pallet::weight(…)].
A Dispatchable, which is a combination of a Call and its encoded arguments, has a concrete weight since the weight can depend on the arguments.
The difference is that this a Call has a formula with variables as weight, not a constant.
So you cannot say how much concrete weight a call has. Further to this the benchmarking functions do not always 1:1 map to calls, which makes it more difficult to compare.

SWC https://github.com/ggwpez/substrate-weight-compare (eg deployed to https://weights.tasty.limo/compare-mr) can compare this if you set the Evaluation Method to Base which will set all possible components to zero and calculate the concrete value per Call.
However it does this on a source-code level, not a WASM runtime blob or running RPC node.
It could therefore still happen that you just forget to use the weights in the runtime file.

A Call itself does not have a weight but only a weight annontation in the form of #[pallet::weight(…)].
A Dispatchable, which is a combination of a Call and its encoded arguments, has a concrete weight since the weight can depend on the arguments.
The difference is that this a Call has a formula with variables as weight, not a constant.
So you cannot say how much concrete weight a call has. Further to this the benchmarking functions do not always 1:1 map to calls, which makes it more difficult to compare.

SWC https://github.com/ggwpez/substrate-weight-compare (eg deployed to https://weights.tasty.limo/compare-mr) can compare this if you set the Evaluation Method to Base which will set all possible components to zero and calculate the concrete value per Call.
However it does this on a source-code level, not a WASM runtime blob or running RPC node.

A Call itself does not have a weight but only a weight annontation in the form of #[pallet::weight(…)].
A Dispatchable, which is a combination of a Call and its encoded arguments, has a concrete weight since the weight can depend on the arguments.
The difference is that this a Call has a formula with variables as weight, not a constant.
So you cannot say how much concrete weight a call has. Further to this the benchmarking functions do not always 1:1 map to calls, which makes it more difficult to compare.

SWC https://github.com/ggwpez/substrate-weight-compare (eg deployed to https://weights.tasty.limo/compare-mr) can compare this if you set the Evaluation Method to Base which will set all possible components to zero and calculate the concrete value per Call.
However it does this on a source-code level, not a WASM runtime blob or running RPC node.
It could therefore still happen that you just forget to use the weights in the runtime file.

Source Link

A Call itself does not have a weight but only a weight annontation in the form of #[pallet::weight(…)].
A Dispatchable, which is a combination of a Call and its encoded arguments, has a concrete weight since the weight can depend on the arguments.
The difference is that this a Call has a formula with variables as weight, not a constant.
So you cannot say how much concrete weight a call has. Further to this the benchmarking functions do not always 1:1 map to calls, which makes it more difficult to compare.

SWC https://github.com/ggwpez/substrate-weight-compare (eg deployed to https://weights.tasty.limo/compare-mr) can compare this if you set the Evaluation Method to Base which will set all possible components to zero and calculate the concrete value per Call.
However it does this on a source-code level, not a WASM runtime blob or running RPC node.