-
Notifications
You must be signed in to change notification settings - Fork 143
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
Make performance improving options default #1963
Conversation
e394d83
to
5291cd3
Compare
b433541
to
f2c6005
Compare
8c39eb9
to
9aeb0ca
Compare
38239de
to
a78900e
Compare
I still prefer unbounded loops by default, following the principle taht @d-xo mentioned of "be as sound as possible, and let users make it simpler if wanted". But not having that, I would also suggest having a loud warning on passed proofs if any nodes are passed because they are bounded, something like "Proof passed, but NNN nodes were loop-depth bounded at MMM iterations, re-run with |
2030505
to
5005a30
Compare
@anvacaru @tothtamas28 @ehildenb Can I ask for your opinion on making |
5aa6d26
to
dde26c8
Compare
dde26c8
to
a8b0126
Compare
Update on using
|
d5e3587
to
86d56c8
Compare
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofsWorkflow telemetry for commit 86d56c8824aa19cf0b1f7643158401801ef83f83 Step Tracegantt
title Build and Test KEVM Foundry proofs
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692116333000, 1692116341000
Set up runner : 1692116341000, 1692116342000
Workflow Telemetry : 1692116342000, 1692116342000
Check out code : 1692116343000, 1692116358000
Set up Docker : 1692116358000, 1692116368000
Build kevm-pyk : 1692116368000, 1692116386000
Build Foundry : 1692116387000, 1692116451000
Foundry Prove : crit, 1692116451000, 1692117368000
Tear down Docker : 1692117368000, 1692117369000
Post Check out code : 1692117369000, 1692117369000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofs (booster)Workflow telemetry for commit 86d56c8824aa19cf0b1f7643158401801ef83f83 Step Tracegantt
title Build and Test KEVM Foundry proofs (booster)
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692115938000, 1692115941000
Set up runner : 1692115941000, 1692115942000
Workflow Telemetry : 1692115943000, 1692115943000
Check out code : 1692115943000, 1692115951000
Set up Docker : 1692115951000, 1692116343000
Build kevm-pyk : 1692116344000, 1692116363000
Build blockchain-k-plugin-deps : 1692116363000, 1692116363000
Build Foundry : 1692116363000, 1692116399000
Foundry Prove : 1692116399000, 1692126748000
Tear down Docker : 1692126750000, 1692126750000
Post Check out code : 1692126751000, 1692126751000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofsWorkflow telemetry for commit 86d56c8824aa19cf0b1f7643158401801ef83f83 Step Tracegantt
title Build and Test KEVM Foundry proofs
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692132227000, 1692132235000
Set up runner : 1692132235000, 1692132236000
Workflow Telemetry : 1692132236000, 1692132236000
Check out code : 1692132237000, 1692132244000
Set up Docker : 1692132244000, 1692132277000
Build kevm-pyk : 1692132278000, 1692132303000
Build Foundry : 1692132303000, 1692132330000
Foundry Prove : 1692132330000, 1692141236000
Tear down Docker : 1692141237000, 1692141237000
Post Check out code : 1692141237000, 1692141237000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofs (booster)Workflow telemetry for commit c394094dcd48cc4b0c6746e86833174592d33e8b Step Tracegantt
title Build and Test KEVM Foundry proofs (booster)
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692154211000, 1692154219000
Set up runner : 1692154219000, 1692154220000
Workflow Telemetry : 1692154221000, 1692154221000
Check out code : 1692154221000, 1692154236000
Set up Docker : 1692154236000, 1692154280000
Build kevm-pyk : 1692154280000, 1692154303000
Build blockchain-k-plugin-deps : 1692154304000, 1692154600000
Build Foundry : 1692154601000, 1692154645000
Foundry Prove : 1692154645000, 1692154776000
Tear down Docker : 1692154777000, 1692154777000
Post Check out code : 1692154777000, 1692154777000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofsWorkflow telemetry for commit c394094dcd48cc4b0c6746e86833174592d33e8b Step Tracegantt
title Build and Test KEVM Foundry proofs
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692154212000, 1692154215000
Set up runner : 1692154215000, 1692154216000
Workflow Telemetry : 1692154216000, 1692154216000
Check out code : 1692154216000, 1692154226000
Set up Docker : 1692154227000, 1692154413000
Build kevm-pyk : 1692154414000, 1692154433000
Build Foundry : 1692154433000, 1692154479000
Foundry Prove : 1692154479000, 1692154776000
Tear down Docker : 1692154776000, 1692154777000
Post Check out code : 1692154777000, 1692154777000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofsWorkflow telemetry for commit 33f83d19df41545e1499453c0b9e1776a5517664 Step Tracegantt
title Build and Test KEVM Foundry proofs
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692154899000, 1692154904000
Set up runner : 1692154904000, 1692154905000
Workflow Telemetry : 1692154905000, 1692154905000
Check out code : 1692154905000, 1692154916000
Set up Docker : 1692154916000, 1692155125000
Build kevm-pyk : 1692155125000, 1692155145000
Build Foundry : 1692155145000, 1692155192000
Foundry Prove : crit, 1692155192000, 1692156579000
Tear down Docker : 1692156580000, 1692156580000
Post Check out code : 1692156580000, 1692156580000
CPU MetricsMemory MetricsIO Metrics
|
Workflow Telemetry - Test PR / Build and Test KEVM Foundry proofs (booster)Workflow telemetry for commit 33f83d19df41545e1499453c0b9e1776a5517664 Step Tracegantt
title Build and Test KEVM Foundry proofs (booster)
dateFormat x
axisFormat %H:%M:%S
Set up job : milestone, 1692154900000, 1692154904000
Set up runner : 1692154904000, 1692154905000
Workflow Telemetry : 1692154905000, 1692154905000
Check out code : 1692154905000, 1692154914000
Set up Docker : 1692154914000, 1692155313000
Build kevm-pyk : 1692155314000, 1692155331000
Build blockchain-k-plugin-deps : 1692155332000, 1692155607000
Build Foundry : 1692155607000, 1692155653000
Foundry Prove : 1692155653000, 1692163909000
Tear down Docker : 1692163909000, 1692163909000
Post Check out code : 1692163910000, 1692163910000
CPU MetricsMemory MetricsIO Metrics
|
Closing this PR since it introduces performance issues and doesn't pass CI. I'll split the changes suggested here into several smaller PRs. |
This PR fixes #1958, which is aimed to improve the default observable performance of KEVM by making the following set of flags/optimizations the default:
--max-depth
to25000
(instead of1000
)--no-break-on-calls
by default--use-booster
by defaultsetGas(uint256)
that sets gas to the provided value; the PR also adds a test forsetGas
.Using--no-implication-every-block
by default(requires further investigation, as using it by default breaks
79182a0149fceb6cd86e2ca420e4afb4032fdb144618f53b819e3edbfa47a1bb
proof innix build --extra-experimental-features 'nix-command flakes' --print-build-logs .#kevm-test
)In this configuration, the execution of
kevm foundry-prove
on the MiniVat test takes ~170s instead of ~250s as before.