Integrate evmonly executor with giga store - #3864
Draft
codchen wants to merge 2 commits into
Draft
Conversation
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3864 +/- ##
==========================================
- Coverage 61.74% 60.92% -0.82%
==========================================
Files 2381 2289 -92
Lines 201667 191643 -10024
==========================================
- Hits 124513 116766 -7747
+ Misses 66074 64601 -1473
+ Partials 11080 10276 -804
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
codchen
force-pushed
the
codex/integrate-evmonly-giga-store
branch
from
August 6, 2026 09:19
a80537b to
66a304c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CommitStateChangesNamedChangeSetEncoderand preserve storage-prefix clearsMemoryStoreimplementation over the existing immutableStateReaderNamedChangeSetkey/value pairs with contiguous backing allocationsWhy
The evmonly executor now has one persistence model: a giga
Store. The concrete store implementation can vary, but execution no longer has a separate non-giga state path.The first loadtest adapter wrapped the complete native changeset in RLP and decoded it immediately inside
CommitStateChanges. The direct format removes that redundant work while continuing to exercise the real giga interface.Loadtest
Configuration: 400 blocks, 1,000 transfers/block, one ordered block worker, 12 executor workers, discard result sink.
The optimized implementation stabilizes around 227k-228k tx/s across repeated runs:
An 800-block profiled run completed at 227,173 tx/s. In the final CPU profile,
EncodeMemoryStoreChangeSetandCommitStateChangeseach represented about 0.04% of sampled CPU, so further parallel encoding or pooling is not expected to produce a sizable end-to-end gain. This is effectively back at the earlier non-giga loadtest throughput of about 229k tx/s.Validation
go test ./giga/... ./sei-db/state_db/gigago test -race ./giga/evmonly/...go vet ./giga/evmonly/... ./sei-db/state_db/gigagofmt -s -landgoimports -lgit diff --checkThe full-tree
goimports -l .reports pre-existing untouched generated and test files.