-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[pallet-revive] update evm create benchmark #10366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
/cmd prdoc --audience runtime_dev --bump patch |
|
/cmd bench --runtime dev --pallet pallet_revive |
|
Command "bench --runtime dev --pallet pallet_revive" has started 🚀 See logs here |
|
Command "bench --runtime dev --pallet pallet_revive" has finished ✅ See logs here Subweight results:
Command output:✅ Successful benchmarks of runtimes/pallets: |
86c0f61 to
f102025
Compare
|
/cmd bench --runtime dev --pallet pallet_revive |
|
Command "bench --runtime dev --pallet pallet_revive" has started 🚀 See logs here |
|
Command "bench --runtime dev --pallet pallet_revive" has failed ❌! See logs here |
|
All GitHub workflows were cancelled due to failure one of the required jobs. |
Differential Tests Results (PolkaVM)Specified Tests
Counts
FailuresThe test specifiers seen in this section have the format 'path::case_idx::compilation_mode' and they're compatible with the revive differential tests framework and can be specified to it directly in the same way that they're provided through the The failures are provided in an expandable section to ensure that the PR does not get polluted with information. Please click on the section below for more information Detailed Differential Tests Failure Information
|
Differential Tests Results (REVM)Specified Tests
Counts
FailuresThe test specifiers seen in this section have the format 'path::case_idx::compilation_mode' and they're compatible with the revive differential tests framework and can be specified to it directly in the same way that they're provided through the The failures are provided in an expandable section to ensure that the PR does not get polluted with information. Please click on the section below for more information Detailed Differential Tests Failure Information
|
|
/cmd bench --runtime dev --pallet pallet_revive |
|
Command "bench --runtime dev --pallet pallet_revive" has started 🚀 See logs here |
| // See #9577 for more context. | ||
| interpreter.ext.charge_or_halt(RuntimeCosts::Instantiate { | ||
| input_data_len: len as u32, // We charge for initcode execution | ||
| interpreter.ext.charge_or_halt(RuntimeCosts::Create { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What aboute CREATE2? Not sure if this is attackable but for completeness I'd expect the extra argument pop and different code path for the salted address to be accounted for.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah true we could add it in there, or find out which one is slowest and use that, we will do that as a follow up, I think the overall impact on the weight is negligible
…--pallet pallet_revive'
|
Command "bench --runtime dev --pallet pallet_revive" has finished ✅ See logs here Subweight results:
Command output:✅ Successful benchmarks of runtimes/pallets: |
|
/cmd bench --runtime dev --pallet pallet_revive |
|
Command "bench --runtime dev --pallet pallet_revive" has started 🚀 See logs here |
…--pallet pallet_revive'
|
Command "bench --runtime dev --pallet pallet_revive" has finished ✅ See logs here Subweight results:
Command output:✅ Successful benchmarks of runtimes/pallets: |
Add a benchmark for the EVM CREATE instruction.
We are currently reusing the
seal_instantiatebenchmark from PVM instantiation, which is incorrect because instantiating an EVM contract takes different arguments and follows a different code path than creating a PVM contract.This benchmark performs the following steps:
Also fix the order of the weight function arguments, they were wrong causing the weight to be much bigger that what it should be