-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Write-Through Inter-Block Cache #4748
Conversation
16aa940
to
04c3bac
Compare
@@ -38,13 +37,8 @@ func RandomAccounts(r *rand.Rand, n int) []Account { | |||
// don't need that much entropy for simulation | |||
privkeySeed := make([]byte, 15) | |||
r.Read(privkeySeed) | |||
useSecp := r.Int63()%2 == 0 |
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.
Is this related to the cahce change?
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.
Not directly, but was needed for initial benchmarking which I henceforth removed. So technically I can undo this change, but we only support secp256k1 keys anyway. Might as well keep it.
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
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.
utACK
@cwgoes I've shared benchmarks and we can see this does indeed offer great improvement, specifically within I've addressed all comments @AdityaSripal @tnachen 👍 |
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.
utACK on the inter-block cache implementation; I didn't review the baseapp
changes.
baseapp/
directory by logical grouping to improve readability.BaseApp
docs w/ diagrams 🎉CommitKVStoreCacheManager
which acts as a persistent inter-block write-through cache.StoreKey
to a*CommitKVStoreCache
(LRU ARC cache).CommitKVStoreCacheManager
is created in an app and set on theBaseApp
.BaseApp
sets this persistent cache on the rootCommitMultiStore
.Store
is wrapped with it's own respective*CommitKVStoreCache
.Preliminary benchmarks show there is only a marginal improvement.
closes: #1947
Targeted PR against correct branch (see CONTRIBUTING.md)
Linked to github-issue with discussion and accepted design OR link to spec that describes this work.
Wrote tests
Updated relevant documentation (
docs/
)Added a relevant changelog entry:
clog add [section] [stanza] [message]
rereviewed
Files changed
in the github PR explorerFor Admin Use: