-
Notifications
You must be signed in to change notification settings - Fork 82
evmone: upgrade to version 0.13.0 #2370
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
f6e6abd
to
cd685dc
Compare
silkworm/core/execution/evm.cpp
Outdated
} | ||
if (!analysis) { | ||
analysis = std::make_shared<evmone::baseline::CodeAnalysis>(evmone::baseline::analyze(rev, code)); | ||
const bool eof_enabled{rev >= EVMC_PRAGUE}; |
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.
It looks like EOF will be postponed until PectrB (=Osaka?)
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.
This reflects the status of evmone, but actually we can put false
here for now.
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.
Set to false
with a comment.
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.
Please don't merge yet. I want to make official evmone release first.
silkworm/core/execution/evm.cpp
Outdated
} | ||
if (!analysis) { | ||
analysis = std::make_shared<evmone::baseline::CodeAnalysis>(evmone::baseline::analyze(rev, code)); | ||
const bool eof_enabled{rev >= EVMC_PRAGUE}; |
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.
This reflects the status of evmone, but actually we can put false
here for now.
cd685dc
to
226b3e8
Compare
226b3e8
to
00c7131
Compare
Mainnet execution benchmarksWe run from scratch Mainnet blocks execution and check how quickly it reaches block 15M (no disk space for more).
|
I'm converting this PR to draft again just to avoid accidental merge. |
I've discovered intx 0.12 performance regression at least with GCC 13. The fix is this: chfast/intx#325, but I need to investigate what exactly is going on. I'm running another Mainnet benchmark and will report back when finished, but the initial number are looking good. |
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.
Apart from intx performance, the rest looks good
Upgrade evmone to version 0.13.0 by rebasing erigontech's fork of it. Upgrade intx to version 0.12.0. The new version of evmone manages `ExecutionState` internally and removes it from public API. This makes object pools for `ExecutionState`s in Silkworm unnecessary.
I reported the issue related to GCC-13 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117000. |
Upgrade evmone to version 0.13.0 by rebasing erigontech's fork of it: https://github.com/erigontech/evmone/tree/rebase_to_v0.13.
Upgrade intx to version 0.12.0.
The new version of evmone manages
ExecutionState
internally andremoves it from public API. This makes object pools for
ExecutionState
s in Silkworm unnecessary.